0% found this document useful (0 votes)
18 views14 pages

Protocol DNP3 Slave

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views14 pages

Protocol DNP3 Slave

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

DNP 3.

0
Slave Communication Protocol

Summary
1. GENERAL INFO ......................................................................................................... 1
1.1 Summary ................................................................................................................................................................ 1
1.2 Data Objects Supported .................................................................................................................................... 1
1.3 General operation ................................................................................................................................................ 3

2. CHANNEL SETTINGS .............................................................................................. 4


2.1 Protocol Options .................................................................................................................................................. 4
2.2 Settings .................................................................................................................................................................. 4
2.3 Timeout .................................................................................................................................................................. 5
2.4 Initial State ........................................................................................................................................................... 6

3. NODES SETTINGS.................................................................................................... 7
3.1 Channel Data (Primary and Backup) ............................................................................................................... 7

4. POINTS SETTINGS ................................................................................................... 8


4.1 General ................................................................................................................................................................... 8
4.2 Point Types ........................................................................................................................................................... 8
4.3 Point Address ..................................................................................................................................................... 11
4.4 Access Type ........................................................................................................................................................ 12

000053.01 i
GENERAL INFO

1. GENERAL INFO
1.1 Summary
Communication Driver Name: DNP30S.
Current Version: 1.0.
Implementation DLL: T.ProtocolDriver.DNP30S.dll.
Protocol: DNP3.0 Slave standard protocol.
Interface: TCP/IP or Serial.
Description: This driver is used for slave (or server) mode communication with remote IEDs
(Intelligent Eletronic Devices) using Level 2 DNP 3.0 Level 2 protocol in master (or client) mode.
Communication can be done through multi-point serial channel or LAN using Ethernet and TCP-
IP. In the last case, each IED has an IP address.
IEDs types supported: Any compatilble DNP 3.0 IED in master (or client) mode.
Communication block size: Maximum 250 bytes, FT 1.2 format.
Protocol Options: Mode “LinkConfirm" and master station address.
Multi-threading: User defined, five threads per comunication node, by default.
Max number of nodes: User defined.
PC Hardware requirements: Standard PC Ethernet interface board, RS485 or RS232 port.

1.2 Data Objects Supported


The table below shows the DNP objects and variants supported by this implementation.

Objeto Requisição (Mestre) Resposta (Escravo)


Obj. Var Descrição Func. Code Qual. Code Func. Qual. Code
(decimal) (Hex) Codes (Hex)
(decimal)
1 1 Single Bit Binary Input 129 00
1 2 Binary Input with status 129 00
2 1 Binary Input change without time 129 17
2 2 Binary Input change with time 129 17
12 1 Control relay output block 3,4,5 0x17 129 17
20 0 Binary Counter – all variation
21 0 Frozen counter – all variations
30 0 Analog Input – all variations
30 1 32 Bits Analog Input 129 00
30 2 16 Bit Analog input with flag 129 00
30 3 32 Bits Analog Input without flag 129 00
30 4 16 Bit Analog input without flag 129 00
30 5 Short Floating Point (32bits)
32 0 Analog Input change event – all
variations
32 1 32 Bits Analog Input change 129 17
event
32 2 16 Bit Analog change event 129 17
without flag
32 3 32 Bit Analog change event with
flag
32 4 16 Bit Analog change event with
00053.01 1
GENERAL INFO

flag
40 2 16 Bit Analog output status 129 00
41 1 32Bit Analog output block 5 0x17 129 17
41 2 16 Bit Analog output block 5 0x17 129 17
50 1 Time and Data 1,2 0x07
60 1 Class 0 data 1 0x06
60 2 Class 1 data 1 0x06
60 3 Class 2 data 1 0x06
60 4 Class 3 data 1 0x06
80 1 Internal indications 2 0x06

In the master mode protocol implementation, master only performs the requests highlighted in
blue. The server equipment responds using the answers highlighted in yellow. Note that it is up to the
server equipment deciding how to respond and the master must support all the features of level 2 to be
used as a possible answer.

The objects, object variations, function codes and qualifiers have their standard meanings in
DNP. Tables with the function code and qualifiers are shown below:

Function Code Descrição Origem


1 Read Master
2 Write Master
3 Select Master
4 Oper Master
5 Direct Oper (without selection) Master
6 Direct Oper (without ack) Master
7 Freeze Immediately Master
8 Freeze Immediately (without ack) Master
9 Freeze and Clear Master
10 Freeze and Read Master
13 Restart (Cold) Master
14 Restart (Warm) Master
20 Enable non requested messages Master
21 Disable non requested messages Master
22 Assigns class for an object Master
23 Measurement with delay Master
129 Response Slave
130 Non Requested Response (doesn´t exist on Slave
level 2)

2 00053.01
GENERAL INFO

Qualifier Code Use on Request Use on Response


00,01 Static Points range (class 0) or a Static Object
single point with a number
06 All points Invalid
07,08 A limited number of events A single point without number (this is a
timestamp)
A single point without number (this
is a timestamp)
17, 28 Controls (one or more unrelated Event Objects (one or more unrelated
points) points)

DNP has the concept of data classes, defined four classes:

Class 0: Corresponds to the static points, analog or digital. Its content is the value of a variable
analog or digital, input or output in a given time;
Class 1, 2 e 3: Events corresponding to class 0 variables transitions, state transitions or internal
relay situations that causes an event.

A common practice in the DNP IEDs is to associate the state variation of digital variables or
dead band pass of analog variable to classes 1, 2 or 3 events. Thus, modifying the state / value of these
variables will cause events to be transmitted at the request of the respective classes of events (60 / 2
60 / 3 and 60 / 4). Periodically, it may be requested a class 0 reading (60 / 1), for checking integrity.

Comments:
1) In this implementation, it is automatically assumed that BI type digital variables, when
altered, will be sent as Class 1, in Object 2 with variation 2 format (Binary input with time
stamp).
2) In this implementation, it is automatically assumed that AI and AIF analog variables, when
altered, will be sent as Class 2, in Object 30 with variation 3 format for AI an in Object 30
with variation 5 format for AIF.

1.3 General operation


The normal slave sequence operation is showed below.
 If it’s necessary, when installing, the master shall send a synchronization message (50,1)
periodically. The date and time received will be interpreted as UCT (or GMT) and will be used
to change the “host” computer’s clock;
 When starting execution, IIN flags will be sent on the first answer messages to indicate IED
restart. The master shall then execute a writing of “clear device flag” (80/1) to clear this
indication;
 Every time there is an alteration of the digital or analog state configured in the POINTS table,
with AcessType set as ReadWrite, an event message will be sent as Class 1 or Class 2. If
there is a point in which no event is desired, use AcessType = Read for it.
 When slave mode receives a digital or analog output command request, it sends the
respective requisition to the IED through software (12/1 or 41/2);

00053.01 3
channel settings

2. CHANNEL SETTINGS
2.1 Protocol Options
LinkConfirmMode – Protocol mode in which, in link layer, all requests should be confirmed by
the remote IED. The default content is “Enabled”.

MasterStationID - Number between 1 and 65534, univocal and correspondent to the master
station address. This way, the master informs his own address to the slave when sending him a
message. Some slaves reply to the master disregarding this number, others demand that the
address declared on the slave matches the one from the master. The default for this field is
“65534”.

Figure 1 – Protocol Options

2.2 Settings
Serial Channel:
Com: Communication Port used on the computer;
BaudRate
DataBits: 8
StopBits: 1 or 2
Parity: None, Even Odd;
DTR: on, off
RTS: on,off
CTS: on, off;
Port configuration must be compatible between master and slave IEDs.

4 00053.01
channel settings

Figure 2 – Serial Channel Settings

TCP/IP channels:
 ServerMode e AcceptUnsolicited : are preset and cannot be changed;
 ListeningPort: The port of the computer where this slave channel will accept conections is
defined here.
 MaxSimultaneousConnections: Must be 1.
 ShareNodeSameIP: Accepts IED with the same IP.

Figure 3 – TCP/IP Settings

2.3 Timeout

Defines limit times for transmission and reception of message characters and the
number of retries.

00053.01 5
channel settings

Figure 4 –Timeout Attributes

2.4 Initial State

Defines how the channel will initiate: enabled or disabled. If the channel is disabled, no
message will be sent or received through it. In other words, the channel will be deactivated.

Figure 5 – Channel Initial State

6 00053.01
NODES SETTINGS

3. NODES SETTINGS
Each node represents a remote station (IED). The user can configure multiple
workstations into a single channel for serial communication. In the case of TCP-IP
communication, only one node is supported for each channel. In this case, there must be set as
many channel as there are nodes.

3.1 Channel Data (Primary and Backup)


Attribute set associated to the node (channel), which refers to its address and other
attributes presented below:

Figure 6 – Channel Data

In case of TCP-IP Communication:


IP Address – Not used.
Port – Not used

For both TCP-IP and Serial:


SlaveID – Slave station address, defined by this channel.
IgnoreBitOnLine – If “enabled”, indicates the driver must ignore the “BitOnLine” indication which
is inserted by the IED when normality failure occurs at a point, according to the IED criteria.
WaitForIdleToCmd – If “enabled”, indicates that a command should only be sent when the
sampled communication is at rest, i.e., is not happening.

00053.01 7
POINTS SETTINGS

4. POINTS SETTINGS
4.1 General
The points can be input or output.
The entry points, i.e. points that are acquired through the protocol have basically two main
parameters: The point type and address.
Output points, used for remote controls, have besides the type and address, a parameter
(ControlCode) for specifying the output operation. On Action.NET, given an IED address map, for points
of the same type, address numbers must be unique.
Point States or point values are reported by IED through Information Objects defined in the
standard. These objects have variations such as with or without "timestamp". Every time the IED reports
an Information Object with "timestamp", this will be listed in Action.Net as an attribute of the point that
corresponds to this object. When there is no "timestamp", Action.Net will fill it with the current time of
the computer hosting Action.Net.

Action.Net communication module on master mode, implements:


 Digital points read;
 Analog points read;
 Counters read;
 Analog and Digital points commands;
 Select Before Operate commands;

4.2 Point Types


The implemented Action.Net point types, listed below, are defined based on the data objects
defined in the standard. For each type of point, whichever are the object variation received on the IED,
with or without “flag”, with or without timestamp, the acquired values will be placed in points with the
types listed below. On the Points table, the field “Address” is used to choose the type of point and to
specify its address.

Figure 7 – Options for Points Type

8 00053.01
POINTS SETTINGS

AI- Analog Input


Scalar Analog measurement used for transmission of analog quantities. Used to receive data
sent through objects 30 and 32 and all its variations. They are 32-bit integers numbers.

BI - Binary Input
Simple binary entry point, value 0 or 1. Used to receive data sent through objects 1 and 2 and all
its variations.

RAO –Read Analog Output


Not used in slave mode implementation.

CRO - Control Relay Output


Digital output point used to control the switches and circuit breakers. The DNP object 12,
including a Control Code (8 bits), is used to indicate the type of command and execution details. When
enrolling these points in slave mode, there is no need to define the control code, since only the
Action.NET point value alteration is executed. For this alteration to serve as a trigger of a client
protocol command that will execute the command as a real IED.
For controlling switches and circuit breakers, it is recommended to use two Tags: one for Trip
and other for Close.
The possible values are presented in the table below with the respective associated actions:

Action in Action.NET tag executed on the slave


ControlCode Protocol Action
Changes to 1 and later to Zero
1 Output Pulse ON
Changes to Zero and later to 1
2 Output Pulse OFF
Changes to 1
3 Output Latch ON
Changes to Zero
4 Output Latch OFF
Changes to 1 and later to Zero
65 Output Pulse ON + Close
Changes to Zero and later to 1
66 Output Pulse OFF + Close
Changes to 1
67 Output Latch ON + Close
Changes to Zero
68 Output Latch OFF + Close
Changes to 1 and later do Zero
129 Output Pulse ON + Trip
Changes to Zero and later to 1
130 Output Pulse OFF + Trip
Changes to 1
131 Output Latch ON + Trip
Changes to Zero
132 Output Latch OFF + Trip
Does nothing
+ 16 Queue + Trip
Does nothing
+ 32 Clear + Trip

CT – Counter
Binary counter 16 or 32 bits, received from the IEDs through the 20 objects and all their
variations. This number has the last state of counter, in the instant it is read.

FRZ - Frozen Counter


Binary counter with 32 bits, sent through an Object 21 variation 1, which contains the
information of a counter used as a tag.

00053.01 9
POINTS SETTINGS

AO - Analog Output Satus or Block (16bits)


When this slave mode receives a message with Function Code of writing ( 2 = Write or 4 =
Operate or 5 = DirectOperate) and this object 41(required value to be reached on the analog output) on
its 2 variations (16 bits), this value is wrote on the tag defined by the POINTS table for the address
received on the object.

AOL - Analog Output long (32 bits)


When this slave mode receives a message with Function Code of writing (2 = Write) and this
object 41(required value to be reached on the analog output) on its 1 variations (32 bits), this value is
wrote on the tag defined by the POINTS table for the address received on the object.

AIF - Analog Input Floating (32 bits)


Measurement used for analog transmission of analog quantities. Tags with this type must be
identified as real on Action.NET. Their value is sent through object 30 with variation 5. They are floating
point numbers are 32 or 64-bit IEEE-754 format.

IIN - Internal Indications


As standard of this protocol, the Internal Indications statuses or the command answer statuses
are sent in every slave answer message, for client use. The following table shows the format of these
two 16 bit words.

IIN: 16 bits sent in every slave answer with control data - Address: 65000

BIT Origin Description Content


0 IIN Broadcast Returns 1 if slave receives a broadcast message
(address = FFFF)
1 IIN Class 1 Returns 1 if slave has class 1 events
2 IIN Class 2 Returns 1 if slave has class 2 events
3 IIN Class 3 Returns 1 if slave has class 3 events
4 IIN Clock Synchronization Returns 1 if slave asks for clock synchronization
5 IIN Outputs set to local Returns 1 if slave has any output set to local
6 IIN Problem Returns 1 if slave has a problem
7 IIN Restart Returns 1 if slave has restarted
8 IIN Function not Implemented Returns 1 if a function asked by the master, was
not implemented in the slave
9 IIN Unknown Object Returns 1 if slave has not certain object at all or in
a specific class
10 IIN Inavalid Data Returns 1 if slave has an invalid parameter in the
qualifier or the address range is invalid
11 IIN Overflow Returns 1 if slave buffer has an overflow
12 IIN Busy Returns 1 if the request was received but is already
running
13 IIN Corrupted Data Returns 1 if the parametric data was corrupted
14 IIN Reserved Always 0

10 00053.01
POINTS SETTINGS

15 IIN Reserved Always 0

Status field: 8 bits sent as answer to a command. Address: 65001


BIT Origin Description Content
0 Status Accepted Command Returns 1 after a correct command
1 Status Not Accepted Command Returns 1 if occurred a timeout between select and
operate
2 Status Select Fault Returns 1 if occurred a operate without prior select
3 Status Format Error Returns 1 if command has en error in format
4 Status Control not supported Returns 1 if operation was not supported
5 Status Full Queue Returns 1 if the request queue on the slave is full or
the point is already active.
6 Status Hardware Error Returns 1 if occurred a hardware error while the
command was processed
7 Not used

4.3 Point Address


The Address field to be filled in the registration of a point is what the standard calls “Index”. It
means a 16-bit number that is the indicative index [0 to n-1] of each of the points of the same type
mapped within the IED.
For example purposes, a points table filled with several types of points is presented below. The
digital output type points (CRO), as mentioned above, have their control code, besides the address.

129 = Pulse ON +
TRIP

Figure 12 – Points table example with different types of points

00053.01 11
POINTS SETTINGS

To implement discrete digital input points, it is enough to use the “Bit” attribute of a tag, for
each of the points that define the discrete digital input value. Therefore, for example, a switch with two
contacts that define its state:

Tag ADDRESS Complement


SEL_LINHA_01.SC89_1 8 Switch Open
SEL_LINHA_01.SC89_1 9 Switch Closed

It is defined as an AnalogInt Tag and the Bit attribute of this 16-bits variable (AnalogInt) is used
on the node table to address two points, as in the figure below:

The values assumed by the SEL_LINHA_01.SC89_1 variable will be:

Tag Bit 0 Bit 1 VALUE MEANING


SEL_LINHA_01.SC89_1 0 0 0 UNDEFINED
SEL_LINHA_01.SC89_1 1 0 1 OPEN
SEL_LINHA_01.SC89_1 0 1 2 CLOSED
SEL_LINHA_01.SC89_1 1 1 3 ERROR

4.4 Access Type


Since it is a communication module in client mode, there is need for a few own characteristics
for parametrization of the Access Type field on the Points table:

For points with reading or command reception types (CRO, AO and AOL):
ReadOnStartup= On;
ReadPooling= Never;
WriteEvent= Changed;
AccepUnsolictited = On;

For reading type points, for which there is no intent to generate events, the Access Type must
be defined the same way as mentioned above, but with:
WriteEnable = Off
WriteEvent= none;

12 00053.01

You might also like