Protocol DNP3 Master
Protocol DNP3 Master
0
Master Communication Protocol
Summary
1. GENERAL INFO ......................................................................................................... 1
1.1 Summary ................................................................................................................................................................ 1
1.2 Data Objects Supported .................................................................................................................................... 1
1.3 General operation ................................................................................................................................................ 4
3. NODES SETTINGS.................................................................................................... 7
3.1 Channel Data (Primary and Backup) ............................................................................................................... 7
000053.01 i
GENERAL INFO
1. GENERAL INFO
1.1 Summary
Communication Driver Name: DNP30.
Current Version: 1.0.
Implementation DLL: T.ProtocolDriver.DNP30.dll.
Protocol: DNP3.0 Master standard protocol.
Interface: TCP/IP or Serial.
Description: This driver is used for communication with remote IEDs (Intelligent Eletronic
Devices) using the protocol DNP 3.0 Level 2. 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.
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.
2 00053.01
GENERAL INFO
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:
00053.01 3
GENERAL INFO
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:
Static variables not assigned to a class, do not cause events;
Class to variable association should be done on the IED, using a proper program. Action.Net
SCADA runs data acquisition through the classes, however, without defining which variable belongs to a
class.
4 00053.01
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”.
Accept Unsolicited DNP – Enabling this option leads to the dispatch of a Enable Unsolicited
Messages message (Function Code = 20) from the master to the slave at the start of a channel
execution, right after the Class 0 request and every time the master receives “RESTART”
indication in the Internal Indications field.
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”.
Quality changes timestamp – Enabling this option will lead to alteration in the tag present
timestamp when a new reading of a flagged object is received, even if there is no alteration on
the tag status (value), but there is quality alteration.
2.2 Settings
Serial and MultSerial 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 match with remote IEDs configurations.
00053.01 5
channel settings
TCP/IP channels:
ShareNodeSameIP: Accepts IED with the same IP.
2.3 Timeout
Defines limit times for transmission and reception of message characters and the
number of retries.
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.
WaitForIdleToCmd – if “enabled” indicates that a command will only be sent when the sampling
communication is stopped, i.e. not occurring.
00053.01 7
NODES SETTINGS
Class 0 sample time(ms) – Time in milliseconds between 2 consecutive all points requests.
Class 1 sample time(ms) – Time in milliseconds between 2 consecutive class 1 points requests.
Class 2 sample time(ms) – Time in milliseconds between 2 consecutive class 2 points requests.
Class 3 sample time(ms) – Time in milliseconds between 2 consecutive class 3 points requests.
Backup Station – The same settings made to the main station can be made to one backup
workstation (alternative IED) if the there is one in the facility.
8 00053.01
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.
00053.01 9
POINTS SETTINGS
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.
The possible values are presented in the table below with the respective associated actions:
ControlCode Action
1 Output Pulse ON
2 Output Pulse OFF
3 Output Latch ON
4 Output Latch OFF
65 Output Pulse ON + Close
66 Output Pulse OFF + Close
67 Output Latch ON + Close
68 Output Latch OFF + Close
129 Output Pulse ON + Trip
130 Output Pulse OFF + Trip
131 Output Latch ON + Trip
132 Output Latch OFF + Trip
10 00053.01
POINTS SETTINGS
+ 16 Queue + Trip
+ 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.
IIN: 16 bits sent in every slave answer with control data - Address: 65000
00053.01 11
POINTS SETTINGS
These IIN can be defined in dictionaries and showed on event lists and/or alarms. This way, for
example purpose, a dictionary associated to a variable which contain the resulting status of a command
is showed below. In sequence, the definition of this variable and a template of its declation on the
Device table points.
12 00053.01
POINTS SETTINGS
129 = Pulse ON +
TRIP
00053.01 13
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:
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:
For reading type points, the Access Type must be defined with:
ReadOnStartup= On;
ReadPooling= Always;
ReadPoolongRate: 500 mili
WriteEvent= Changed;
AccepUnsolictited = On;
For command type points (CRO, AO and AOL), the Access Type must be defined with:
ReadPooling = Never;
WriteEnable = On
WriteEvent= Changed;
14 00053.01