DNP3 device profile document
- Last UpdatedNov 18, 2022
- 9 minute read
- PI System
- PI Interface for DNP3 3.3.1.38
- Interfaces
|
DNP V3.00 DEVICE PROFILE DOCUMENT This document must be accompanied by a table having the following headings: Object Group Request Function Code Response Function Codes Object Variation Request Qualifiers Response Qualifiers Object Name (optional) |
|
|
Vendor Name: OSIsoft, Inc. |
|
|
Device Name: PI DNP3 Interface to the PI system (Version 3.x.x.x) |
|
|
Highest DNP Level Supported: For Requests: N/A For Responses: Level 1 |
Device Function: þ Master ¨ Slave |
|
Notable objects, functions, and/or qualifiers supported in addition to the Highest DNP Levels Supported (the complete list is described in the attached table): The PI DNP3 interface supports the DNP 3.0 Level 1 Master protocol for Polled Static and Polled Report-by-Exception data. Additionally, the interface provides a subset of the DNP 3.0 Level 2 and Level 3 Master protocol for requesting specific object type, index number, and variation to retrieve static data. The PI DNP3 interface is capable of producing Analog outputs and counter Freeze functioning. |
|
|
Maximum Data Link Frame Size (octets): Transmitted _______ Received ___292_ (must be 292) |
Maximum Application Fragment Size (octets): Transmitted (if >2048, must be configurable) Received Unlimited (must be >= 249) |
|
Maximum Data Link Re-tries: ¨ None ¨ Fixed at _______________________ þ Configurable, range 0 to 15 |
Maximum Application Layer Re-tries: ¨ None þ Configurable, range 0 to 15 (Fixed is not permitted) |
|
Requires Data Link Layer Confirmation: ¨ Never ¨ Always þ Sometimes Requests to RESET Link. ¨ Configurable If 'Configurable', how? ______________________________________________ |
|
|
Requires Application Layer Confirmation: þ Never ¨ Always (not recommended) ¨ When reporting Event Data (Slave devices only) ¨ When sending multi-fragment responses (Slave devices only) ¨ Sometimes If 'Sometimes', when? ______________________________________________ ¨ Configurable If 'Configurable', how? ______________________________________________ |
|
|
Timeouts while waiting for: Data Link Confirm ¨ None ¨ Fixed at _________ ¨ Variable þ Configurable Complete Appl. Fragment ¨ None ¨ Fixed at _________ ¨ Variable þ Configurable Application Confirm þ None ¨ Fixed at _________ ¨ Variable ¨ Configurable Complete Appl. Response ¨ None ¨ Fixed at _________ ¨ Variable þ Configurable Others __________________________________________________________________________ Note: Timeout parameters are configured by the ReadTimeout parameter defined in the XML device configuration file. |
|
|
Sends/Executes Control Operations: WRITE Binary Outputs þ Never ¨ Always ¨ Sometimes ¨ Configurable SELECT/OPERATE ¨ Never ¨ Always ¨ Sometimes þ Configurable DIRECT OPERATE ¨ Never ¨ Always ¨ Sometimes þ Configurable DIRECT OPERATE - NO ACK ¨ Never ¨ Always ¨ Sometimes þ Configurable Count > 1 þ Never ¨ Always ¨ Sometimes ¨ Configurable Pulse On þ Never ¨ Always ¨ Sometimes ¨ Configurable Pulse Off þ Never ¨ Always ¨ Sometimes ¨ Configurable Latch On þ Never ¨ Always ¨ Sometimes ¨ Configurable Latch Off þ Never ¨ Always ¨ Sometimes ¨ Configurable Queue þ Never ¨ Always ¨ Sometimes ¨ Configurable Clear Queue þ Never ¨ Always ¨ Sometimes ¨ Configurable Note : Configurable parameters are described in the PI Point Configuration and Appendix B: Sample PI Tag Configurations. |
|
|
FILL OUT THE FOLLOWING ITEM FOR MASTER DEVICES ONLY: |
|
|
Expects Binary Input Change Events: þ Either time-tagged or non-time-tagged for a single event ¨ Both time-tagged and non-time-tagged for a single event ¨ Configurable (attach explanation) |
|
|
FILL OUT THE FOLLOWING ITEMS FOR SLAVE DEVICES ONLY: |
|
|
Reports Binary Input Change Events when no specific variation requested: ¨ Never ¨ Only time-tagged ¨ Only non-time-tagged ¨ Configurable to send both, one or the other (attach explanation) |
Reports time-tagged Binary Input Change Events when no specific variation requested: ¨ Never ¨ Binary Input Change With Time ¨ Binary Input Change With Relative Time ¨ Configurable (attach explanation) |
|
Sends Unsolicited Responses: ¨ Never ¨ Configurable (attach explanation) ¨ Only certain objects ¨ Sometimes (attach explanation) ¨ ENABLE/DISABLE UNSOLICITED Function codes supported |
Sends Static Data in Unsolicited Responses: ¨ Never ¨ When Device Restarts ¨ When Status Flags Change No other options are permitted. |
|
Default Counter Object/Variation: ¨ No Counters Reported ¨ Configurable (attach explanation) ¨ Default Object ______________ Default Variation ______________ ¨ Point-by-point list attached |
Counters Roll Over at: ¨ No Counters Reported ¨ Configurable (attach explanation) ¨ 16 Bits ¨ 32 Bits ¨ Other Value _____________ ¨ Point-by-point list attached |
|
Sends Multi-Fragment Responses: ¨ Yes ¨ No |
|
DNP Object & Variation |
Description |
Request |
Response |
|||
|---|---|---|---|---|---|---|
|
Object |
Variation |
Func Codes (dec) |
Qual Codes (hex) |
Func Codes (dec) |
Qual Codes (hex) |
|
|
1 |
0 |
Binary Input - All Variations |
1 (Read) |
00, 01, 06 |
||
|
1 |
1 |
Binary Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
1 |
2 |
Binary Input with Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
2 |
0 |
Binary Input Change - All Variations |
1 (Read) |
06 |
||
|
2 |
1 |
Binary Input Change w/out Time |
1 (Read) |
06 |
129 |
17, 18 |
|
2 |
2 |
Binary Input Change with Time |
1 (Read) |
06 |
129 |
17, 18 |
|
2 |
3 |
Binary Input Change |
1 (Read) |
06 |
129 |
17, 18 |
|
3 |
0 |
Double-bit Input - All Variations |
1 (Read) |
00, 01, 06 |
||
|
3 |
1 |
Double-bit Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
3 |
2 |
Double-bit Input with Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
4 |
0 |
Double-bit Input Change - All Variations |
1 (Read) |
06 |
||
|
4 |
1 |
Double-bit Input Change w/out Time |
1 (Read) |
06 |
129 |
17, 18 |
|
4 |
2 |
Double-bit Input Change with Time |
1 (Read) |
06 |
129 |
17, 18 |
|
4 |
3 |
Double-bit Input Change |
1 (Read) |
06 |
129 |
17, 18 |
|
10 |
0 |
Binary Output - All Variations |
1 (Read) |
00, 01, 06 |
||
|
10 |
1 |
Binary Output |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
10 |
2 |
Binary Output |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
20 |
0 |
Binary Acc - All Variations |
7 (Immed Freeze) 8 (Immed. Fr. Noack) 9 (Fr. Clr) 10 (Fr. Clr Noack) |
00, 01, 06 |
||
|
20 |
0 |
Binary Acc - All Variations |
1 (Read) |
00, 01, 06 |
||
|
20 |
1 |
32-bit Binary Acc |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
20 |
2 |
16-bit Binary Acc |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
20 |
3 |
32-bit Delta Acc |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
20 |
4 |
16-bit Delta Acc |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
20 |
5 |
32-bit Binary Acc w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
20 |
6 |
16-bit Binary Acc w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
20 |
7 |
32-bit Binary Delta Acc w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
20 |
8 |
16-bit Binary Delta Acc w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
0 |
Frozen Acc - All Variations |
1 (Read) |
00, 01, 06 |
||
|
21 |
1 |
32-bit Frozen Acc |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
2 |
16-bit Frozen Acc |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
3 |
32-bit Frozen Delta Acc |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
4 |
16-bit Frozen Delta Acc |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
5 |
32-bit Frozen Acc with Time of Freeze |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
6 |
16-bit Frozen Acc with Time of Freeze |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
7 |
32-bit Frozen Delta Acc with Time of Freeze |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
8 |
16-bit Frozen Delta Acc with Time of Freeze |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
9 |
32-bit Frozen Acc w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
10 |
16-bit Frozen Acc w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
11 |
32-bit Frozen Delta Acc w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
21 |
12 |
16-bit Frozen Delta Acc w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
22 |
0 |
Acc Change Event - All Variations |
1 (Read) |
06 |
||
|
22 |
1 |
32-bit Acc Change Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
22 |
2 |
16-bit Acc Change Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
22 |
3 |
32-bit Delta Acc Change Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
22 |
4 |
16-bit Delta Acc Change Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
22 |
5 |
32-bit Acc Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
22 |
6 |
16-bit Acc Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
22 |
7 |
32-bit Delta Acc Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
22 |
8 |
16-bit Delta Acc Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
23 |
0 |
Frozen Acc Events - All Variations |
1 (Read) |
06 |
||
|
23 |
1 |
32-bit Frozen Acc Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
23 |
2 |
16-bit Frozen Acc Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
23 |
3 |
32-bit Frozen Delta Acc Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
23 |
4 |
16-bit Frozen Delta Acc Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
23 |
5 |
32-bit Frozen Acc Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
23 |
6 |
16-bit Frozen Acc Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
23 |
7 |
32-bit Frozen Delta Acc Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
23 |
8 |
16-bit Frozen Delta Acc Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
30 |
0 |
Analog Input - All Variations |
1 (Read) |
00, 01, 06 |
||
|
30 |
1 |
32-bit Analog Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
30 |
2 |
16-bit Analog Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
30 |
3 |
32-bit Analog Input w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
30 |
4 |
16-bit Analog Input w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
30 |
5 |
Short Floating Analog Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
30 |
6 |
Long Floating Analog Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
31 |
0 |
Frozen Analog Input - All Variations |
1 (Read) |
00, 01, 06 |
||
|
31 |
1 |
32-bit Frozen Analog Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
31 |
2 |
16-bit Frozen Analog Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
31 |
3 |
32-bit Frozen Analog Input w/ Time of Freeze |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
31 |
4 |
16-bit Frozen Analog Input w/ Time of Freeze |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
31 |
5 |
32-bit Frozen Analog Input w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
31 |
6 |
16-bit Frozen Analog Input w/out Flag |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
31 |
7 |
Short Floating Frozen Analog Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
31 |
8 |
Long Floating Frozen Analog Input |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
32 |
0 |
Analog Change Event - All Variations |
1 (Read) |
06 |
||
|
32 |
1 |
32-bit Analog Change Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
32 |
2 |
16-bit Analog Change Event w/out Time |
1 (Read) |
06 |
129 |
17, 28 |
|
32 |
3 |
32-bit Analog Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
32 |
4 |
16-bit Analog Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
32 |
5 |
Single Precision Analog Change Event |
1 (Read) |
06 |
129 |
17, 28 |
|
32 |
6 |
Double Precision Analog Change Event |
1 (Read) |
06 |
129 |
17, 28 |
|
32 |
7 |
Single Precision Analog Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
32 |
8 |
Double Precision Analog Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
33 |
0 |
Frozen Analog Event - All Variations |
1 (Read) |
06 |
||
|
33 |
1 |
32-bit Frozen Analog Event w/out Time |
1 (Read) |
00, 01, 06 |
129 |
17, 28 |
|
33 |
2 |
16-bit Frozen Analog Event w/out Time |
1 (Read) |
00, 01, 06 |
129 |
17, 28 |
|
33 |
3 |
32-bit Frozen Analog Event with Time |
1 (Read) |
00, 01, 06 |
129 |
17, 28 |
|
33 |
4 |
16-bit Frozen Analog Event with Time |
1 (Read) |
00, 01, 06 |
129 |
17, 28 |
|
33 |
5 |
Short Floating Frozen Analog Event |
1 (Read) |
00, 01, 06 |
129 |
17, 28 |
|
33 |
6 |
Long Floating Frozen Analog Event |
1 (Read) |
00, 01, 06 |
129 |
17, 28 |
|
33 |
7 |
Single Precision Frozen Analog Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
33 |
8 |
Double Precision Frozen Analog Change Event with Time |
1 (Read) |
06 |
129 |
17, 28 |
|
40 |
0 |
Analog Output Status - All Variations |
1 (Read) |
00, 01, 06 |
||
|
40 |
1 |
32-bit Analog Output Status |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
40 |
2 |
16-bit Analog Output Status |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
40 |
3 |
Short Floating Analog Output |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
40 |
4 |
Long Floating Analog Output |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
41 |
1 |
32-bit Analog Output Status |
3 (Select) 4 (Operate) 5 (Dir Op) 6 (DirOp, NoAck |
17, 28 |
129 |
Echo of request |
|
41 |
2 |
16-bit Analog Output Status |
3 (Select) 4 (Operate) 5 (Dir Op) 6 (DirOp, NoAck |
17, 28 |
129 |
Echo of request |
|
41 |
3 |
Short Floating Analog Output |
3 (Select) 4 (Operate) 5 (Dir Op) 6 (DirOp, NoAck |
17, 28 |
129 |
Echo of request |
|
41 |
4 |
Long Floating Analog Output |
3 (Select) 4 (Operate) 5 (Dir Op) 6 (DirOp, NoAck |
17, 28 |
129 |
Echo of request |
|
50 |
0 |
Time and Data - All Variations |
||||
|
50 |
1 |
Time and Date |
1 (Read) 2 (Write) |
07, quantity=1 |
129 |
07 |
|
51 |
0 |
Time and Data CTO - All Variations |
||||
|
51 |
1 |
Time and Date CTO |
129 |
07 |
||
|
51 |
2 |
Unsynchronized Time and Date CTO |
129 |
07 |
||
|
52 |
0 |
Time Delay - All Variations |
||||
|
52 |
1 |
Time Delay Coarse |
129 |
07 |
||
|
52 |
2 |
Time Delay Fine |
129 |
07 |
||
|
60 |
1 |
Class 0 Data |
1 (Read) |
06 |
||
|
60 |
2 |
Class 1 Data |
1 (Read) |
06 |
||
|
60 |
3 |
Class 2 Data |
1 (Read) |
06 |
||
|
60 |
4 |
Class 3 Data |
1 (Read) |
06 |
||
|
80 |
1 |
Internal Indications |
2 (Write) |
00, index=7 |
||
|
110 |
1-255 |
Octet String Static |
1 (Read) |
00, 01, 06 |
129 |
00, 01 |
|
111 |
1-255 |
Octet String Event |
1 (Read) |
06 |
129 |
00, 01 |