MDNP Ci Guide
MDNP Ci Guide
Revision History
Document Version: 1.0
Date: December 14, 2002
Reviser: Fred VanEijk, Triangle MicroWorks, Inc.
• Original release.
i
DNP3 Configuration/Interoperability Guide for TMWGTWAY.EXE
ii
DNP3 Configuration/Interoperability Guide for TMWGTWAY.EXE
able of Contents
T
1 INTRODUCTION ............................................................................................................................................ 1
iii
DNP3 Configuration/Interoperability Guide for TMWGTWAY.EXE
1 Introduction
The purpose of this document is to describe the specific implementation of the Distributed
Network Protocol (DNP) 3.0 within TMWGTWAY.EXE, V2.
TMWGTWAY.EXE uses the Triangle MicroWorks, Inc. DNP 3.0 Master Source Code Library
Version 3.00.
This document, in conjunction with the DNP 3.0 Basic 4 Document Set, and the DNP Subset
Definitions Document, provides complete information on how to communicate with
TMWGTWAY.EXE via the DNP 3.0 protocol.
This implementation of DNP 3.0 is fully compliant with DNP 3.0 Subset Definition Level 3, and
contains significant functionality beyond Subset Level 3.
DNP V3.00
DEVICE PROFILE DOCUMENT
(Also see the Implementation Table in Section 3, beginning on page 4.)
Vendor Name: Triangle MicroWorks, Inc.
Device Name: TMWGTWAY.EXE, using the Triangle MicroWorks, Inc. DNP 3.0 Master Source Code
Library, Version 3
Highest DNP Level Supported: Device Function:
For static (non-change-event) object requests, request qualifier codes 07 and 08 (limited quantity),
and 17 and 28 (index) are supported.
16-bit and 32-bit and Floating Point Analog Change Events with Time may be requested.
Floating Point Analog Output Status and Output Block Objects 40 and 41 are supported.
Maximum Data Link Frame Size (octets): Maximum Application Fragment Size (octets):
None None
Fixed at ____ Configurable
Configurable from 0 to 65535
Requires Data Link Layer Confirmation:
Never
Always
Sometimes
Configurable as: Never, Only for multi-frame messages, or Always.
Requires Application Layer Confirmation:
Never
Always
When reporting Event Data
When sending multi-fragment responses
Sometimes
Configurable
DNP V3.00
DEVICE PROFILE DOCUMENT
(Also see the Implementation Table in Section 3, beginning on page 4.)
Timeouts while waiting for:
In the table below, text shaded as 00, 01 (start stop) indicates Subset Level 3 functionality (beyond
Subset Level 2).
In the table below, text shaded as 07, 08 (limited qty) indicates functionality beyond Subset Level 3.
REQUEST RESPONSE
OBJECT
(Library may send) (Library will parse)
Object Variation Function Codes Qualifier Codes Function Codes Qualifier Codes
Description
Number Number (dec) (hex) (dec) (hex)
1 0 Binary Input – Any Variation 1 (read) 00, 01 (start-stop)
22 (assign class) 06 (no range, or all)
07, 08 (limited qty)
17, 28 (index)
1 1 Binary Input 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
1 2 Binary Input with Status 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
2 0 Binary Input Change – Any Variation 1 (read) 06 (no range, or all)
07, 08 (limited qty)
2 1 Binary Input Change without Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
2 2 Binary Input Change with Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
2 3 Binary Input Change with Relative Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
10 0 Binary Output Status – Any Variation 1 (read) 00, 01 (start-stop)
06 (no range, or all)
07, 08 (limited qty)
17, 28 (index)
10 1 Binary Output 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06(no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
10 2 Binary Output Status 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
12 1 Control Relay Output Block 3 (select) 17, 28 (index) 129 (response) echo of request
4 (operate)
5 (direct op)
6 (dir. op, noack)
20 0 Binary Counter – Any Variation 1 (read) 00, 01 (start-stop)
22 (assign class) 06 (no range, or all)
07, 08 (limited qty)
17, 28 (index)
7 (freeze) 00, 01 (start-stop)
8 (freeze noack) 06 (no range, or all)
9 (freeze clear) 07, 08 (limited qty)
10 (frz. cl. noack))
20 1 32-Bit Binary Counter (with Flag) 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
REQUEST RESPONSE
OBJECT
(Library may send) (Library will parse)
Object Variation Function Codes Qualifier Codes Function Codes Qualifier Codes
Description
Number Number (dec) (hex) (dec) (hex)
20 2 16-Bit Binary Counter (with Flag) 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
20 5 32-Bit Binary Counter without Flag 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
20 6 16-Bit Binary Counter without Flag 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
21 0 Frozen Counter – Any Variation 1 (read) 00, 01 (start-stop)
22 (assign class) 06 (no range, or all)
07, 08 (limited qty)
17, 28 (index)
21 1 32-Bit Frozen Counter (with Flag) 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
21 2 16-Bit Frozen Counter (with Flag) 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
21 5 32-Bit Frozen Counter with Time Of Freeze 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
21 6 16-Bit Frozen Counter with Time Of Freeze 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06(no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
21 9 32-Bit Frozen Counter without Flag 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
21 10 16-Bit Frozen Counter without Flag 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
22 0 Counter Change Event – Any Variation 1 (read) 06 (no range, or all)
07, 08 (limited qty)
22 1 32-Bit Counter Change Event without Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
22 2 16-Bit Counter Change Event without Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
22 5 32-Bit Counter Change Event with Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
22 6 16-Bit Counter Change Event with Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
23 0 Frozen Counter Event (Variation 0 is used to 1 (read) 06 (no range, or all)
request default variation) 07, 08 (limited qty)
23 1 32-Bit Frozen Counter Event 1 (read) 06 (no range, or all) 129 (response) 17,28 (index)
07, 08 (limited qty) 130 (unsol. resp)
23 2 16-Bit Frozen Counter Event 1 (read) 06 (no range, or all) 129 (response) 17,28 (index)
07, 08 (limited qty) 130 (unsol. resp)
23 5 32-Bit Frozen Counter Event with Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
23 6 16-Bit Frozen Counter Event with Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
REQUEST RESPONSE
OBJECT
(Library may send) (Library will parse)
Object Variation Function Codes Qualifier Codes Function Codes Qualifier Codes
Description
Number Number (dec) (hex) (dec) (hex)
30 0 Analog Input - Any Variation 1 (read) 00, 01 (start-stop)
22 (assign class) 06 (no range, or all)
07, 08 (limited qty)
17, 28 (index)
30 1 32-Bit Analog Input 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
30 2 16-Bit Analog Input 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
30 3 32-Bit Analog Input without Flag 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
30 4 16-Bit Analog Input without Flag 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
30 5 short floating point 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
30 6 long floating point 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
32 0 Analog Change Event – Any Variation 1 (read) 06 (no range, or all)
07, 08 (limited qty)
32 1 32-Bit Analog Change Event without Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
32 2 16-Bit Analog Change Event without Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
32 3 32-Bit Analog Change Event with Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
32 4 16-Bit Analog Change Event with Time 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
07, 08 (limited qty) 130 (unsol. resp)
32 5 short floating point Analog Change Event 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
without Time 07, 08 (limited qty) 130 (unsol. resp)
32 6 long floating point Analog Change Event 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
without Time 07, 08 (limited qty) 130 (unsol. resp)
32 7 short floating point Analog Change Event with 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
Time 07, 08 (limited qty) 130 (unsol. resp)
32 8 long floating point Analog Change Event with 1 (read) 06 (no range, or all) 129 (response) 17, 28 (index)
Time 07, 08 (limited qty) 130 (unsol. resp)
40 0 Analog Output Status (Variation 0 is used to 1 (read) 00, 01 (start-stop)
request default variation) 06 (no range, or all)
07, 08 (limited qty)
17, 28 (index)
40 1 32-Bit Analog Output Status 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
40 2 16-Bit Analog Output Status 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
40 3 short floating point Analog Output Status 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
REQUEST RESPONSE
OBJECT
(Library may send) (Library will parse)
Object Variation Function Codes Qualifier Codes Function Codes Qualifier Codes
Description
Number Number (dec) (hex) (dec) (hex)
40 4 short floating point Analog Output Status 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07, 08 (limited qty) see note 1)
17, 28 (index)
41 1 32-Bit Analog Output Block 3 (select) 17, 28 (index) 129 (response) echo of request
4 (operate)
5 (direct op)
6 (dir. op, noack)
41 2 16-Bit Analog Output Block 3 (select) 17, 28 (index) 129 (response) echo of request
4 (operate)
5 (direct op)
6 (dir. op, noack)
41 3 short floating point Analog Output Block 3 (select) 17, 28 (index) 129 (response) echo of request
4 (operate)
5 (direct op)
6 (dir. op, noack)
41 4 long floating point Analog Output Block 3 (select) 17, 28 (index) 129 (response) echo of request
4 (operate)
5 (direct op)
6 (dir. op, noack)
50 0 Time and Date
50 1 Time and Date 1 (read) 00, 01 (start-stop) 129 (response) 00, 01 (start-stop)
06 (no range, or all) 17, 28 (index –
07 (limited qty = 1l) see note 1)
08 (limited qty)
2 (write) 07 (limited qty = 1l)
2 (write) 00 (start-stop)
(see note 2) index = 7
REQUEST RESPONSE
OBJECT
(Library may send) (Library will parse)
Object Variation Function Codes Qualifier Codes Function Codes Qualifier Codes
Description
Number Number (dec) (hex) (dec) (hex)
No Object (function code only) 23 (delay meas.)
No Object (function code only) 24
(record current time)
Note 1: For static (non-change-event) objects, qualifiers 17 or 28 are only responded when a request
is sent with qualifiers 17 or 28, respectively. Otherwise, static object requests sent with qualifiers 00,
01, 06, 07, or 08, will be responded with qualifiers 00 or 01. (For change-event objects, qualifiers 17
or 28 are always responded.)
Note 2: Writes of Internal Indications are only supported for index 7 (Restart IIN1-7).