Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
General Information
Communication Driver NameP: DNP30S
Current Version: 19.0 2
Implementation DLLP: T.ProtocolDriver.DNP30S.dll
ProtocolP: DNP3.0 Slave standard protocol
Interface: TCP/IP or Serial
Description: The driver is used for communication in slave mode (or Server) supervisory devices or other equipment using the DNP3 Level 2 protocol in MASTER (or Client) Mode. Communication can be done through a serial peer-to-peer channel or using local Ethernet network and TCP-IP protocol as the single slave of an IP address.
Masters types supported: Any equipment in Master Mode compatible DNP 3.0
Communication block size: Maximum 250 bytes, FT 1.2 format
Protocol Options: "LinkConfirm" mode and master station address.
Threading: User confige, default is five threads for each network node.
Max number of nodes: user defined
PC Hardware requirements: Standard PC Ethernet interface board, RS485 or RS232 port
PC Software requirements: ActionNET system.
Supported data objects
The table below shows the DNP objects and their variants, supported by this implementation.
Object | Requisition (Master) | Answer (Slave) | ||||
Obj. | Var | Description | Function Codes (decimal) | Qualifier. Codes (Hex) | Function Codes (decimal) | Qualifier Codes (Hex) |
1 | 0 | Binary Input (any variation) | 1 | 00,01,06 | ||
22 | 00,01,06 | 129 | ||||
1 | 1 | Single Bit Binary Input (packed) | 1 | 00,01,06 | 129 | 00, 01 |
1 | 2 | Binary Input with status | 129 | 00, 01 | ||
2 | 0 | Binary Input event (any variation) | 1 | 06,07,08 | ||
2 | 1 | Binary Input change without time | 1 | 06,07,08 | 129,130 | 17,18 |
2 | 2 | Binary Input change with absolut time | 1 | 06,07,08 | 129,130 | 17,18 |
2 | 3 | Binary Input change with relative time | 1 | 06,07,08 | 129,130 | 17,18 |
3 | 0 | Double bit Binary input - Any variation | 22 | 00,01,06 | ||
3 | 1 | Double-bit Binary Input - Packed | 1 | 00,01,06 | 129 | 00, 01 |
3 | 2 | Double-bit Binary Input - With flags | 1 | 00,01,06 | 129 | 00, 01 |
4 | 0 | Double-bit Binary Input Event - Any Variation | 1 | 06,07,08 | ||
4 | 1 | Double-bit Binary Input Event - whitout time | 1 | 06,07,08 | 129,130 | 17,18 |
4 | 2 | Double-bit Binary Input Event- with absolut time | 1 | 06,07,08 | 129,130 | 17,18 |
4 | 3 | Double-bit Binary Input Event - with relative time | 1 | 06,07,08 | 129,130 | 17,18 |
10 | 1 | Binary Output - Any Variation | 1 | 00,01,06 | ||
10 | 2 | Binary Output - status with flags | 1 | 00,01,06 | 129 | |
12 | 1 | Control relay output block | 3,4,5 | 17,28 | 129 | Echo of request |
20 | 0 | Binary Counter - all variations | ||||
20 | 1 | Counter - 32-bit with flag | 1 | 00,01,06 | 129 | 00, 01 |
20 | 2 | Counter - 16-bit with flag | 1 | 00,01,06 | 129 | 00, 01 |
20 | 5 | Counter - 32-bit without flag | 1 | 00,01,06 | 129 | 00, 01 |
20 | 6 | Counter - 16-bit without flag | 1 | 00,01,06 | 129 | 00, 01 |
21 | 0 | Frozen counter - all variations | ||||
21 | 1 | Frozen Counter - 32-bit with flag | 1 | 00,01,06 | 129 | 00, 01 |
21 | 2 | Frozen Counter - 16-bit with flag | 1 | 00,01,06 | 129 | 00, 01 |
21 | 3 | Frozen Counter - 32-bit without flag | 1 | 00,01,06 | 129 | 00, 01 |
21 | 4 | Frozen Counter - 16-bit without flag | 1 | 00,01,06 | 129 | 00, 01 |
22 | 0 | Counter Event - Any Variation | 1 | 06 | ||
22 | 1 | Counter Event - 32-bit with flag | 1 | 06,07,08 | 129,130 | 17,18 |
22 | 2 | Counter Event - 16-bit with flag | 1 | 06,07,08 | 129,130 | 17,18 |
23 | 0 | Frozen Counter Event - Any Variation | 1 | 06,07,08 | ||
23 | 1 | Frozen Counter Event - 32-bit with flag | 1 | 06,07,08 | 129,130 | 17,18 |
23 | 2 | Frozen Counter Event - 16-bit with flag | 1 | 06,07,08 | 129,130 | 17,18 |
30 | 0 | Analog Input - all variations | 1, 22 | 00,01,06 | ||
30 | 1 | 32 Bits Analog Input | 1 | 00,01,06 | 129 | 00, 01 |
30 | 2 | 16bit Analog input with flag | 1 | 00,01,06 | 129 | 00, 01 |
30 | 3 | 32 Bits Analog Input without flag | 1 | 00,01,06 | 129 | 00, 01 |
30 | 4 | 16bit Analog input without flag | 1 | 00,01,06 | 129 | 00, 01 |
30 | 5 | Short Floating Point (32bits) | 1 | 00,01,06 | 129 | 00, 01 |
32 | 0 | Analog Input event - all variations | 1 | 06,07,08 | ||
32 | 1 | 32 Bits Analog Input event | 1 | 06,07,08 | 129,130 | 17,18 |
32 | 2 | 16th Bit Analog event without flag | 1 | 06,07,08 | 129,130 | 17,18 |
32 | 3 | 32bit Analog event with flag | 1 | 06,07,08 | 129,130 | 17,18 |
32 | 4 | 16th Bit Analog event with flag | 1 | 06,07,08 | 129,130 | 17,18 |
32 | 5 | Analog input event single float -without time | 1 | 06,07,08 | 129,130 | 17,18 |
32 | 7 | Analog input event single float -with time | 1 | 06,07,08 | 129,130 | 17,18 |
40 | 0 | Analog Output Status–any variation | 1 | |||
40 | 1 | Analog Output Status - 32bits with flag | 1 | 00,01,06 | 129 | 00, 01 |
40 | 2 | Analog Output Status -16bits with flag | 1 | 00,01,06 | 129 | 00, 01 |
40 | 3 | Analog output status - Single float with flag | 1 | 00,01,06 | 129 | 00, 01 |
41 | 1 | 32Bit Analog output block | 3,4,5,6 | 17,28 | 129 | Echo of request |
41 | 2 | 16bit Analog output block | 3,4,5,6 | 17,28 | 129 | Echo of request |
41 | 3 | Analog output block - Single float | 3,4,5,6 | 17,28 | 129 | Echo of request |
50 | 1 | Time and Data - Absolut | 1,2 | 0x07 | 129 | 07 |
51 | 1 | Time and Date CTO - Absolute time, synchronized | 129,130 | 07 | ||
51 | 2 | Time and Date CTO - Absolute time, unsynchronized | 129,130 | 07 | ||
52 | 1 | Time Delay - Coarse | 129 | 07 | ||
52 | 2 | Time Delay - Fine | 129 | 07 | ||
60 | 1 | Class 0 date | 1 | 0x06 | ||
60 | 2 | Class 1 date | 1,20,21 | 06,07,08 | ||
60 | 3 | Class 2 date | 1,20,21 | 06,07,08 | ||
60 | 4 | Class 3 date | 1,20,21 | 06,07,08 | ||
80 | 1 | Internal indications | 1,2 | 00,01 | 129 | 01 |
In the protocol implementation the master only executes the requests highlighted in blue. The server equipment responds using the responses highlighted in yellow. Note that it is up to the server equipment to decide how the response will be, and the master must support all possible level 2 functions to be used as a response.
Objects, object variations, function codes, and qualifiers have their meanings standardized in DNP. Below are the function code and qualifier tables:
Function Code | Description | Origin |
1 | Read | Master |
2 | To write | Master |
3 | Select | Master |
4 | Operate | Master |
5 | Operate direct (no selection) | Master |
6 | Operate direct (no ack) | Master |
7 | Freezes Immediately | Master |
8 | Freezes Immediately (without ack) | Master |
9 | Freezes and cleans | Master |
10 | Freezes and reads | Master |
13 | Restart (Cold) | Master |
14 | Restart (Warm) | Master |
20 | Enables unsolicited message | Master |
21 | Disables unsolicited message | Master |
22 | Marks class by object | Master |
23 | Measure with delay | Master |
129 | Answer | Slave |
130 | Unsolicited response (does not exist at level 2) | Slave |
Qualifier Code | Use in requisition | Use in response |
00,01 | A range of static points (class 0) or a single point with a number | Static object |
06 | All points | Invalid |
07,08 | A limited amount of events. | A simple point without a number (i.e. a date/time) |
17, 28 | Controls (usually one or more unrelated points) | Event objects (usually one or more unrelated points) |
DNP has the concept of data classes, and four classes are defined:
Class 0: Corresponds to static, analog, or digital point. Its content is the value of an analog or digital variable, input or output, at a given time;
Class 1, 2 and 3: Corresponds to state transition events or class 0 variables or situations internal to the remote/relocation that cause the event.
What usually occurs in FDI's when using NpD is to associate with the state variation of digital variables or dead band values of analog variables classes 1, 2 and 3. Thus, modifying the state/value of these variables will cause events that will be transmitted by ordering events from the respective classes (60/2, 60/3 and 60/4). Periodically, a cyclic reading can be done for health check. This reading corresponds to a class 0 request (60/1).
Observations:
In this implementation it is automatically considered that digital variables Type BI, when they undergo change will be sent as Class 1, in the form of Object 2 with variation 2 (Binary input with time stamp).
In this implementation it is automatically considered that analog variables AI, AIF, when they undergo change will be sent as Class 2, in the form of Objects 30 variation 3, for AI and as 30 variation 5 for the AIF.
General operation
The normal sequence of operation of the slave is:
If necessary in the installation the master should send a sync message (50.1) periodically. The date and time received will be understood as UCT (or GMT), and will be used to change the clock of the "host" computer.
When you start running, in the first reply messages with, you will send IIN flags indicating that IED has restart. The master must then perform a clear device flag (80/1) write to clear this statement;
Whenever there is a change in the state of digital or analog, which are configured in the POINTS table, with AccesType as ReadWrite, event message will be sent as Class 1 or Class 2. If you do not want events at some points to use for these AccessType = Read;
When slave mode receives a request for digital output command or analog output, through software sends its request to the IED (12/1 or 41/2);
On this page:
Scroll ignore | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
On this page: |