background image

 

 

-

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

A Sierra Monitor Company

APPLICABILITY & EFFECTIVITY 

Effective for all systems manufactured after December 2008 

 

Driver Manual

  

(Supplement to the FieldServer Instruction Manual)

 

 

FS-8700-47 DNP 3.0 

 

Driver Version: 

1.03 

Document Revision:   14 

 

Summary of Contents for FS-8700-47

Page 1: ...r Company APPLICABILITY EFFECTIVITY Effective for all systems manufactured after December 2008 Driver Manual Supplement to the FieldServer Instruction Manual FS 8700 47 DNP 3 0 Driver Version 1 03 Document Revision 14 ...

Page 2: ... Descriptors 17 5 3 1 FieldServer Specific Map Descriptor Parameters 17 5 3 2 Driver Specific Map Descriptor Parameters 18 5 3 3 Timing Parameters 18 5 3 4 Map Descriptor Example 1 Discrete Data 19 5 3 5 Map Descriptor Example 2 Class Data 19 5 3 6 Map Descriptor Example 3 Class Data another example 20 5 3 7 Map Descriptor Example 4 Default Variation Variation zero 21 5 3 8 Map Descriptor Example ...

Page 3: ...rver com Tel 408 262 2299 Fax 408 262 2269 Toll Free 888 509 1970 email support fieldserver com 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 42 Appendix A 20 Multiple requests in a single poll 45 Appendix B Driver Error Messages 46 ...

Page 4: ...mended Practice by the IEEE C 2 Task Force RTU to IED Communications Protocol Feature Rich DNP offers flexibility and functionality that go far beyond conventional communications protocols Among its robust and flexible features DNP 3 0 includes Output options Secure configuration file transfers Addressing for over 65 000 devices on a single link Time synchronization and time stamped events Broadca...

Page 5: ...A Web www fieldserver com Tel 408 262 2299 Fax 408 262 2269 Toll Free 888 509 1970 email support fieldserver com 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 ...

Page 6: ...server com Tel 408 262 2299 Fax 408 262 2269 Toll Free 888 509 1970 email support fieldserver com 2 Driver Scope of Supply 2 1 Supplied by FieldServer Technologies for this driver FieldServer Technologies Part Description FS 8915 10 UTP cable 7 foot for RS 232 use FS 8917 04 RJ45 to DB25M connection adapter FS 8700 47 Driver Manual ...

Page 7: ... 3 0 device according to manufacturer s instructions 8917 04 DB25F FieldServer RJ45 Connect to one of the RS 232 Ports on the FieldServer P1 1 8 DNP Device FieldServer Function From Default Color Rx RJ45 01 DB25F 02 White CTS RJ45 02 DB25F 04 Brown DSR RJ45 03 Yellow GND RJ45 04 DB25F 07 Green GND RJ45 05 Red DTR RJ45 06 Black RTS RJ45 07 DB25F 05 Orange Tx RJ45 08 DB25F 03 Blue 3 1 Connection Not...

Page 8: ...Server for DNP 3 0 Driver 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 ...

Page 9: ...s of the driver prior to 1 02a used a different method to calculate DA offset Refer to Appendix A 16 It is also possible to use this parameter to control if link resets are used required Refer to Appendix A 15 OriginalStyle NoLink OrigStyle NoLink Example Client Side Connections Connections Port Baud Parity Protocol Handshaking Poll_Delay R1 9600 None DNP None 0 100s 4 3 Client Side Node Descripto...

Page 10: ...length is a function of the data object and data variation 1 1000 Address Starting address of data element to be read 0 1 2 etc The following parameters apply only to the DNP 3 0 Driver DnpDataType Corresponds to the Data Object Types defined in the DNP data object Library Additional information is provided in Appendix A 9 1 2 10 12 30 31 32 33 40 41 20 22 23 50 51 52 60 80 decimal numbers DnpData...

Page 11: ...Descriptors Non zero positive integers DnpMultiMsg 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 All Map Descriptors whose dnpMultiMsg values are equal will be requested in a single poll Ensure only one is active rdbc for example and all the others have the function set to Serv...

Page 12: ..._AI3 20 Rdbc Node_A 20 10 5 30 1 Read 10 elements This is the name of the node that we are reading This name must connect to a node definition in the CSV file which will contain the address of the device being read and this in turn should connect to a port definition though which the FieldServer will communicate with the DNP device The value of the first analog input read will be placed in positio...

Page 13: ... Map_Descriptors Map_Descriptor_Name Data_Array_Name Data_Array_Offset Function Node_Name Address Length Scan_Interval dnpDataType dnpDataVari dnpSubType dnpAsscoiate A1 DA_AI3 20 Rdbc Node_A 20 10 5 30 1 Value 1 A2 DA_AI3STAT 20 Passive Node_A 20 10 5 30 1 Flags 1 The results of the read are placed in this data array Tells the driver to write the status byte to the data array ignoring the value o...

Page 14: ...pe dnpDataType dnpDataVari dnpAssociate Class1 di 3 0s CL_1 0 Passive Node_A 0 156 value 1 0 1 Class1 do 3 0s CL_2 0 Passive Node_A 0 9 value 10 0 1 Class1 co 3 0s CL_3 0 Passive Node_A 0 39 value 20 0 1 Class1 ai 1 3 0s CL_4 0 Passive Node_A 0 100 value 30 0 1 Class1 ai 2 3 0s CL_5 0 Passive Node_A 100 100 value 30 0 1 Class1 ai 3 3 0s CL_6 0 Passive Node_A 200 100 value 30 0 1 4 4 8 Map Descript...

Page 15: ...e response cannot be stored using this Map Descriptor because the response will have its variation non zero Thus you would need to make a Server Map Descriptor for each possible variation A better strategy is to experiment Use the single Map Descriptor below wait for the error and then modify the CSV based on information found in the error message Client Side Map Descriptors Map_Descriptors Map_De...

Page 16: ...pendent 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 th...

Page 17: ...erver_II_Array The name of a Data Array that has previously been defined in the configuration in the Data Arrays section Refer to Error Reference source not found Max 15 characters Example Server Side Nodes Nodes Node_Name Node_ID Protocol FieldServer 11 DNP 5 3 Server Side Map Descriptors 5 3 1 FieldServer Specific Map Descriptor Parameters Column Title Function Legal Values Map_Descriptor_Name N...

Page 18: ...iant defined in the DNP data object Library Enter as decimal number When configured as a Server the driver can respond to requests for the so called Default variation These are polls where the variation is zero To configure the driver to be able to respond to requests for the default variation then you must create a MapDesc where the DNPDataVari 0 Note that the driver considers variation 1 as the ...

Page 19: ...p Descriptor If a matching Map Descriptor is found the driver builds a response using the data requested in the associated Map Descriptors In this example 10 Digital Inputs and 2 Analog Inputs will be served as the response Server Side Map Descriptors Map_Descriptors Map_Descriptor_Name Data_Array_Name Data_Array_Offset Function Node_Name Address Length DnpAssoc dnpDataType dnpDataVari ServeClass0...

Page 20: ...ray_Location Function Node_Name Address Length DNPDataType DNPDataVari DNPAssociate Class_0_Data DA_DUMMY 0 Server RTU 0 1 60 0 Map_Descriptors Map_Descriptor_Name Data_Array_Name Data_Array_Location Function Node_Name Address Length DNPDataType DNPDataVari DNPAssociate dnpIndexStyle Class_0_Analogs DA_AI_01 0 Server RTU 1 16 32 1 1 1 Class_0_Discs_1 DA_DI_01 0 Server RTU 1 3 2 1 1 1 Class_0_Discs...

Page 21: ...ult variation For the FieldServer the default variation is always 1 This means that requests for variation zero will fail unless the Server contains a Map Descriptor where the variation is 1 Server Side Map Descriptors Map_Descriptors Map_Descriptor_Name Data_Array_Name Data_Array_Offset Function Node_Name Address Length DnpAssoc dnpDataType dnpDataVari ServeData_DI DA_DI 0 Server Node_A 0 10 1 1 ...

Page 22: ... it was last served then its value is checked against the data objects subscription COV_DeadBand If the value has changed by at least that much then the data object is served If a subscription has not been defined for the point then it will not be served When the data is served the objects may be non consecutive since the Server serves only changed data In such cases the Server may change the qual...

Page 23: ...e_DNP3 1 Bin_Inputs 8 Node_DNP3 1 Bin_Inputs 9 Node_DNP3 1 Bin_Inputs 10 Node_DNP3 1 Bin_Inputs 11 Node_DNP3 1 Bin_Inputs 12 Node_DNP3 1 Bin_Inputs 13 Node_DNP3 1 Bin_Inputs 14 Node_DNP3 1 Bin_Inputs 15 Node_DNP3 1 Bin_Inputs 16 Node_DNP3 1 Bin_Inputs 17 Node_DNP3 1 Bin_Inputs 18 Node_DNP3 1 Bin_Inputs 19 Node_DNP3 1 Ana_Inputs 0 Node_DNP3 1 0 Ana_Inputs 1 Node_DNP3 1 0 Ana_Inputs 2 Node_DNP3 25 0...

Page 24: ...Length dnpDataType dnpDataVari DA_Byte_Name Serve_FrozenAI_vari3 DA_AI 0 Server Node_A 0 100 31 3 DA_AI_TIMES 5 3 10 Map Descriptor Example 6 Unsolicited Messages A driver configured as an active Server can send unsolicited messages not responses to a poll to a remote Client when data changes In this example 100 elements of the Data Array called DA_AI are monitored If the data in any one of these ...

Page 25: ...8 262 2269 Toll Free 888 509 1970 email support fieldserver com 5 4 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 ...

Page 26: ...e DNP subset definitions Appendix A 3 DNP Objects mapped to FieldServer Data Arrays DNP objects consist of values and additional information such as quality control and status bits as well as time information The DNP driver allows this additional data to be extracted and mapped into the indicated data array For example the DNP master driver can read 10 analog inputs with status flags and put the 1...

Page 27: ...eset node The link resetting is performed on a node node link Appendix A 6 App Layer Functionality in the Master The App layer provides over 40 app layer functions confirmations and responses and allows for handling of a huge number of data objects 1 Read 2 Write 3 Select 4 Operate 6 Direct Operate with no Ack limited 8 Direct Freeze with no Ack limited 129 Response App Layer Functions 130 Unsolic...

Page 28: ..._Descriptor_Name Data_Array_Name Node_Name dnp ii DNP_DIAG Null_Node The following data is stored in the Data Array DNP_DIAG Array Element Contents 0 The first byte of the Internal indication reported by a DNP device as found in the most recently received message Only messages complete enough to warrant parsing will cause this item to be updated DNP devices only contain internal indication bytes w...

Page 29: ...can not be described by a combination of one or more of the other IIN bits Bit 7 Device restart Set when the user application at the Outstation restarts Cleared when the master explicitly Writes a 0 into this bit of the Internal Indications object in the Outstation Second Byte Bit 0 Function code not implemented Bit 1 Requested object s unknown The Outstation does not have the specified objects or...

Page 30: ...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 If it doesn t then Error 78 is printed The driver uses the 1 st two elements to form the Internal Indications bytes of all normal responses responses where the driver is able to respond to the poll The driver does no...

Page 31: ...mber of bytes is always sent so if configured with a length that isn t a multiple of 8 then the driver appends extra zero state bits to form a whole number of bytes Example This map descriptor responds with 2 bytes of data 10 bits of the two bytes are extracted from the DA_80 and 6 of them are padded with a state of zero to make a whole number of bits The driver extracts the bits from consecutive ...

Page 32: ...me Data_Format Data_Array_Length DNP_STATS UINT32 100 Map_Descriptors Map_Descriptor_Name Data_Array_Name Node_Name dnp stats DNP_STATS Null_Node The driver stores the following data in the data array EGD_STATS Array Element Contents 1 DRV_DLL_CLIENT_SENDS_MSG 2 DRV_DLL_CLIENT_SENDS_BYTES 3 DRV_DLL_SERVER_SENDS_MSG 4 DRV_DLL_SERVER_SENDS_BYTES 5 DRV_DLL_CLIENT_RCVS_MSG 6 DRV_DLL_CLIENT_RCVS_BYTES ...

Page 33: ... not apply when the DNP 3 0 driver processes a response from a query as the driver can process multi fragment responses The list of data objects supported and the functions used to access the objects is defined on the Driver Fact Sheet which may be obtained from FieldServer Technologies The table is known as a DNP 3 0 Implementation Table The table below lists the objects and variations that be us...

Page 34: ...10 16 Bit Frozen Counter without Flag 21 11 32 Bit Frozen Delta Counter without Flag 21 12 16 Bit Frozen Delta Counter without Flag 22 0 101a Counter Change Event All Variations 22 1 101a 32 Bit Counter Change Event without Time 22 2 101a 16 Bit Counter Change Event without Time 22 3 101a 32 Bit Delta Counter Change Event without Time 22 4 101a 16 Bit Delta Counter Change Event without Time 22 5 1...

Page 35: ...ons 40 1 32 Bit Analog Output Status 40 2 16 Bit Analog Output Status 41 0 Analog Output Descriptor All Variations 41 1 32 Bit Analog Output Descriptor 41 2 16 Bit Analog Output Descriptor 50 0 101a Time and Date All Variations 50 1 101a Time and Date 50 2 101a Time and Date with Interval 51 0 101a Time and Date CTO All Variations 51 1 101a Time and Date CTO 51 2 101a Unsynchronized Time and Date ...

Page 36: ...es Yes Read 1 Yes Yes Write 2 Yes Yes Select 3 Yes 5 Yes 5 Operate 4 Yes 5 Yes 5 Direct Operate 5 Yes 5 Yes 5 Direct Operation with no Ack 6 Yes 5 Yes 5 Immediate freeze 7 Immediate freeze with no Ack 8 Limited Freeze Clear 9 Freeze Clear with no Ack 10 Limited Freeze Time 11 Freeze Time with No Ack 12 Cold Restart 13 Warm Restart 14 Delay Measurement 23 Yes Yes When the Function 23 Delay Measurem...

Page 37: ...sheet indicates that only qualifiers 17 and 28 may be used When the driver is configured as a Server then the dnpQualifier parameter specified in the CSV file is not used The qualifier of the requesting poll is used in interpreting the request and forming the response The driver accepts poll s that have the DNP qualifier set to 6 which effectively requests the Server to send back all objects of th...

Page 38: ...en used with Object 12 Variation 1 The 1 st array element is used as a byte to fill in the control code field The 2 nd array element is used as a byte to fill in the count field The 3 rd array element is used as a UINT32 to fill in the on time field The 4 th array element is used as a UINT32 to fill in the off time field The status field is always set to zero When used with Object 41 Variation 1 2...

Page 39: ...ginalStyle or OrigStyle NoLink to overwrite Link Reset Example Server Side Connections Connections Port Baud Parity Protocol Application P8 9600 None DNP OriginalStyle Appendix A 17 dnpIndexStyle Normally the Server responds to requests for data using the same qualifier as the poll Use this parameter on a Server Map Descriptor to override the indexStyle of the qualifier in the response Refer to Se...

Page 40: ...n the Server receives this time it will store the value in a Data Array as well as use it to update the real time clock Example Server Side Connections Ports port Baud Protocol RTC_Update_Rqst_Interval P1 2400 DNP 123 Server Side Nodes Nodes Node_Name Node_ID Protocol Real_Time_Clock_Control Node_A 11 DNP Update from Remote Map_Descriptors Map_Descriptor_Name Data_Array_Name Data_Array_Offset Func...

Page 41: ...sh 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 The driver will auto create a Map Descriptor to write the time to the Server using the Data Array If the Data Array doesn t exist then the driver will print an error message Limitations Test the accuracy of the ProtoCessor software clock to determine its limitations The accurac...

Page 42: ...s byte Status byte sent is always equal to zero If the active Map Descriptor used to send a select or operate command has the DA_Float_Name parameter specified with the name of a Data Array then the driver stores the status byte extracted from the response message in this secondary Data Array at the same offset specified with the Data_Array_Offset parameter Control Relay Block Object 12 The follow...

Page 43: ...ata objects being commanded Each data object that can be commanded with one of the commands has a status byte field trailing the block of data sent with the object The Server modifies the status byte that is echoed back The driver sends 1 of 4 possible status byte responses 0 Command Accepted 2 Command rejected because object was not previously selected 4 Command rejected because the command code ...

Page 44: ...ribed above Analog Output Block When a Select command is received the driver sets the select flag in a secondary Data Array defined by the DA_Bit_Name parameter if available When any of the operate commands are received the driver stores the value sent with the command in the Data Array defined on the Map Descriptor Control Relay Block Object 12 If the Control Code is supported the driver does the...

Page 45: ...non zero dnpMultiMsg parameter value it locates other Map Descriptors with he same dnpMultiMsg parameter value and uses all of these to form the poll When configuring the Client side Map Descriptors for this purpose only one of the associated Map Descriptors may be set to active The other Map Descriptors must be set as Server Passive In the example below the driver finds the Map Descriptor called ...

Page 46: ...ubType s Valid values are provided in Appendix A 3 The driver uses value as default if the keyword is not recognized DNP 11 FYI Master Node Address d The driver is reporting the Node_ID of the Client node This message is for information only DNP 12 FYI DEBUG Message being sent You should never see this message Check the configuration file for an illegal DNPDatatype 6 DNP 13 FYI Write function over...

Page 47: ...iver can only store data from messages where the data elements are indexed in a supported style Take a log and send with your configuration file to FST Tech Support DNP 33 Err Qty items array offset end array md s Cant store all qty max d d You need to make the data array longer and or the length of the Map Descriptor 7 DNP 35 Err Relay Output Status data array too short DNP 36 Err Relay Output St...

Page 48: ...here it will use the DA offsetting style present in the driver prior to version 1 02a If this is consistent with your configuration the message may be ignored DNP3 53 FYI Mast App Parse NO DATA returning early A response to a poll contained no data This is possible when for example you poll for event or change data and no events changes have occurred since the last poll This message is printed for...

Page 49: ...tion 5 3 5 9 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 If any of these messages are printed call tech support An internal diagnostic specific to QA testing has been activated It is possible for the driver to send a message that is found in a log file instead of the configured poll to test the Server side of the driv...

Page 50: ...lace 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 Analog Output Blocks and Relay Blocks must be selected before they can be operated The driver needs a place to store the select flag This is done using a Secondary Data Array specified with the DA_Bit_Name parameter If not specified then the point is assu...

Page 51: ...nted each time we receive a message with CON flag set in the Application control flag CON If set to one 1 in a received message indicates the sending application is expecting a confirmation from the receiving application of the reception of the fragment An application function code zero 0 is used in the confirmation message Extract from the DNP3 spec DNP3 86 Err Index style d is not supported Supp...

Reviews: