DNP30 - POINT SETTING
General
Points can be inbound or outbound.
The entry points, that is the points that are served by the protocol have basically two main parameters: The type of point and its address.
In the address map of an IED, the addresses restart for each point type.
The states or values of the points are reported to the client by Information Objects defined in the protocol. These objects have variations such as with or without a timestamp. Whenever the slave reports changes in classes 1 or 2, it will use the timestamp variation using the last corresponding timestamps of a point in the Action.NET. When the slave reports general analog, counter, or digital readings, this protocol will use variation without a timestamp.
The communication module in Slave mode implements the following operations:
Replies to requests for reading digital dots;
Responses to requests for reading analog variables;
Responses to Meter Reading requests;
Execution of request commands of digital and analog points;
Types of points
The types of implemented points are defined using the data objects defined in the standard, as follows. For each type of point whatever the variations of objects received from the IED, with "flag" or without, with a timestamp or without, the acquired values will be placed in points with the type among the ones listed below. In the table stitches, in the field "Address" choose the point type and specify its address.
AI - Analog Input
The scalar analog measurement is used for the transmission of analog quantities. Tag data with this type of point is sent through object 32 variation 1. They are integer 32-bit numbers without timestamp.
BI - Binary Input
Simple binario entry point, value 0 or 1. Tag data with this type of point is sent through object 2 variation 2, when by change (event), with timestamp, or through object 2 var. 1, when by general reading (class 0).
DBI - Double bits Binary Input
Double binario entry point, value between 0 and 3. Tag data with this point type is sent through object 3 and variation 2. when by change (event), with timestamp, or through object 3 var. 1, when by general reading (class 0).
RAO - Read Analog Output
Not used in the implementation of slave mode.
CRO - Control Relay Output
Digital exit point used to receive key and circuit breaker commands. Object DNP 12 is expected, including Control Code (8 bits) for indication of command type and execution details.
In the registration of these points in slave mode, it is necessary to define the control code identical to the one that will be nviado by the Master IED, so that you can identify the tag used in the Slave. In the slave only the change of the value of the point of the Action.NET. In order for the command to reach its final destination in an IED, the affected tag must be used by another Client protocol, which will send it to the IED.
In the case of key control and circuit breakers it is recommended to use two Tags: one for Trip and one for Close.
The possible amounts received from the client are presented in the table below with the respective associated actions:
Control Code | Protocol action | Action on the Action.NET tag performed on slave |
1 | Pulse ON output | Changes to 1 and then to Zero |
2 | Pulse OFF output | Changes to Zero and then to 1 |
3 | Latch ON Exit | Changes to 1 |
4 | Latch OFF Output | Changes to ZERO |
65 | Pulse ON + Close output | Changes to 1 and then to Zero |
66 | Pulse OFF + Close output | Changes to Zero and then to 1 |
67 | Latch ON + Close Output | Changes to 1 |
68 | Latch OFF + Close Output | Changes to ZERO |
129 | Pulse ON + Trip Output | Changes to 1 and then to Zero |
130 | Pulse OFF + Trip output | Changes to Zero and then to 1 |
131 | Latch ON + Trip Output | Changes to 1 |
132 | Latch OFF + Trip Output | Changes to ZERO |
+ 16 | Queue + Trip | Nothing does |
+ 32 | Clear + Trip | Nothing does |
CT - Counter
Binary counter of 16 or 32bits, sent through objects 20 variation 1. This number has the last state of the count tag, the instant it is sent.
FRZ - Frozen Counter
32-bit binary counter, sent through object 21 variation 1, which contains information from a counter used as a tag.
AO - Analog Output Status or Block (16bits)
When this slave mode receives a message with Function Code writing (2 = Write or 4=Operate, or 5= DirectOperate) and this object or 41 (required value to be reached on the analog output) in its 2 (16-bit) variations, this value is spelled in the tag defined in the POINTS table for the address received on the object..
AOL - Analog Output long (32-bit)
When this slave mode receives a message with Write Function Code (2 = Write) and this object 41 (value required to be reached on the analog output) in its 1 (32-bit) variations, this value is spelled in the tag defined in the POINTS table for the address received on the object..
AIF - Analog Input Floating (32-bit)
Analog measurement used for transmission of analog quantities. Tags with this type should be typified in the Action.Net as real. Its value is sent through object 30 variation 5. They are floating-point numbers of 32 or 64 bits, IEEE-754 format.
IIN - Internal Indications
As is the protocol standard, internal indications statuses or command response status are sent in all slave response messages for use by the client. The table shows the format of these two 16-bit words.
BIT | Origin | Description | Content |
0 | IIN | Broadcast | Returns 1 when 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 timing | Returns 1 if slave asks for clock synchronization |
5 | IIN | On-site departures | Returns 1 if some or all outputs are in place |
6 | IIN | Problem | Returns 1 if slave with problem |
7 | IIN | Restart | Returns 1 if slave restarted (restart) |
8 | IIN | Function not implemented | Returns 1 if function sent by master is not implemented in slave |
9 | IIN | Unknown object | Returns 1 if slave has no particular object or class does not have this object |
10 | IIN | Invalid data | Returns 1 if invalid parameter has in qualifier or address range is invalid |
11 | IIN | Overflow | Returns 1 if slave buffer had overflow |
12 | IIN | Busy | Returns 1 if request has been understood but is already running |
13 | IIN | Corrupted data | Returns 1 if parameterization data is corrupted |
14 | IIN | Reserved | Always 0 |
15 | IIN | Reserved | Always 0 |
Â
Status field: 8 bits sent as a command response.
BIT | Origin | Description | Content |
0 | Status | Command accepted | Returns 1 after correct command |
1 | Status | Command not accepted | Returns 1 if time out occurred between select and operate time. |
2 | Status | Lack select | Returns 1 if an operate has been made without prior select |
3 | Status | Format error | Returns 1 if command has format error |
4 | Status | Control not supported | Returns 1 if operation is not supported |
5 | Status | Full queue | Returns 1 if slave request queue is full or point is already active |
6 | Status | Hardware error | Returns 1 if a device hardware error occurred while trying to run the command |
7 | Not used |
Point address
The field Address to be filled in the point registration is what the standard calls "Index". This is a 16-bit number that is the index [0 to n-1] indicative of each of the points of the same type mapped within the FDI.
Below, a table of points filled with different point types is presented by way of example. The digital output (CRO) points, as mentioned above, in addition to the address have the control code.
129 = Pulse ON + TRIP
Figure 12 - Example of the Points table with different types of points
To implement discrete digital entry points, simply use the "Bit" attribute of a tag for each of the points that define the value of the discrete digital input. So, for example, a disconnector that has two contacts to set its state:
Tag | ADDRESS | Complement |
SEL_LINHA_01.SC89_1 | 8 | Open disconnector |
SEL_LINHA_01.SC89_1 | 9 | Closed Disconnector |
It is defined as an AnalogInt tag and in the node table if you use the Bit attribute of this 16-bit variable (AnalogInt) to address the colon, as in the table below:
The values assumed by the SEL_LINHA_01.SC89_1 will be:
Tag | Bit 0 | Bit 1 | VALUE | MEANING |
SEL_LINHA_01.SC89_1 | 0 | 0 | 0 | INDEFINITE |
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 |
Access Type
Because it is a communication module in server mode there is a need for some characteristics suitable for parameterization of the field Access Type of the table Points:
For points with types that are read the Access Type should be set with:
ReadOnStartup= On;
ReadPooling= Never;
WriteEvent= Changed;
AccepUnsolictited = On;
For points with read types, for which you do not want event generation
The Access Type should be defined in the same way above but with:
WriteEnable = off;
WriteEvent= none;
On this page: