RUTX11 DNP3

Wiki mirrorView source
The information in this page is updated in accordance with firmware version RUTX_R_00.07.22.1.

Summary

Distributed Network Protocol 3 (DNP3) is a set of communications protocols used between components in process automation systems. It is primarily used for communications between a client station and Remote Terminal Units (RTUs) or Intelligent Electronic Devices (IEDs).
This manual page provides an overview of the DNP3 functionality in RUTX11 devices.
Note: DNP3 is additional software that can be installed from the System → Package Manager page.

DNP3 Parameters

DNP3 parameters are held within indexes. The index numbers and corresponding system values are described in the table below:
required valueindexgroup type
Uptime0Counter
Signal Strength1Octet String
Modem temperature (in 0.1 °C)2Octet String
Hostname3Octet String
Operator4Octet String
Router Serial Number5Octet String
LAN MAC Address6Octet String
Router name7Octet String
Currently active SIM card slot8Octet String
Network state9Octet String
Connection state10Octet String
Mobile data received today (SIM1)20Counter
Mobile data sent today (SIM1)21Counter
Mobile data received this week (SIM1)22Counter
Mobile data sent this week (SIM1)23Counter
Mobile data received this month (SIM1)24Counter
Mobile data sent this month (SIM1)25Counter
Mobile data received last 24h (SIM1)26Counter
Mobile data sent last 24h (SIM1)27Counter
Mobile data received last week (SIM1)28Counter
Mobile data sent last week (SIM1)29Counter
Mobile data received last month (SIM1)30Counter
Mobile data sent last month (SIM1)31Counter
Mobile data received today (SIM2)32Counter
Mobile data sent today (SIM2)33Counter
Mobile data received this week (SIM2)34Counter
Mobile data sent this week (SIM2)35Counter
Mobile data received this month (SIM2)36Counter
Mobile data sent this month (SIM2)37Counter
Mobile data received last 24h (SIM2)38Counter
Mobile data sent last 24h (SIM2)39Counter
Mobile data received last week (SIM2)40Counter
Mobile data sent last week (SIM2)41Counter
Mobile data received last month (SIM2)42Counter
Mobile data sent last month (SIM2)43Counter
GPS Fix Time50Octet String
GPS Longitude Coordinate51Octet String
GPS Latitude Coordinate52Octet String
GPS Altitude Coordinate53Octet String
GPS Angle54Octet String
GPS Speed55Octet String
GPS Accuracy56Octet String
GPS Satellite count57Octet String
IO din1, is high?72Binary
IO dout1, is high?74Binary

External Modem Parameters

If you are using an external modem on your device, use these index numbers for corresponding system values:
required valueindexgroup type
Modem VID and PID100 + 50 * modem_numberOctet String
Mobile data received today (SIM1)101 + 50 * modem_numberCounter
Mobile data sent today (SIM1)102 + 50 * modem_numberCounter
Mobile data received this week (SIM1)103 + 50 * modem_numberCounter
Mobile data sent this week (SIM1)104 + 50 * modem_numberCounter
Mobile data received this month (SIM1)105 + 50 * modem_numberCounter
Mobile data sent this month (SIM1)106 + 50 * modem_numberCounter
Mobile data received last 24h (SIM1)107 + 50 * modem_numberCounter
Mobile data sent last 24h (SIM1)108 + 50 * modem_numberCounter
Mobile data received last week (SIM1)109 + 50 * modem_numberCounter
Mobile data sent last week (SIM1)110 + 50 * modem_numberCounter
Mobile data received last month (SIM1)111 + 50 * modem_numberCounter
Mobile data sent last month (SIM1)112 + 50 * modem_numberCounter
Mobile data received today (SIM2)113 + 50 * modem_numberCounter
Mobile data sent today (SIM2)114 + 50 * modem_numberCounter
Mobile data received this week (SIM2)115 + 50 * modem_numberCounter
Mobile data sent this week (SIM2)116 + 50 * modem_numberCounter
Mobile data received this month (SIM2)117 + 50 * modem_numberCounter
Mobile data sent this month (SIM2)118 + 50 * modem_numberCounter
Mobile data received last 24h (SIM2)119 + 50 * modem_numberCounter
Mobile data sent last 24h (SIM2)120 + 50 * modem_numberCounter
Mobile data received last week (SIM2)121 + 50 * modem_numberCounter
Mobile data sent last week (SIM2)122 + 50 * modem_numberCounter
Mobile data received last month (SIM2)123 + 50 * modem_numberCounter
Mobile data sent last month (SIM2)124 + 50 * modem_numberCounter
Modem temperature (in 0.1 °C)125 + 50 * modem_numberOctet String
Operator126 + 50 * modem_numberOctet String
Network state127 + 50 * modem_numberOctet String
Connection state128 + 50 * modem_numberOctet String
Signal Strength129 + 50 * modem_numberOctet String
The modem_number of the external modem is 0 (internal modem is skipped).
To get the exact index of a parameter, use the formula in the table above. For example, the index of an external modem operator is 126. Formula is: 126 + 50 * 0.

DNP3 TCP Client

A client in DNP3 is a component that communicates (requests data) with a single outstation via a communication channel. By default, the client list is empty. To add a new client, click the 'Add' button.
After clicking 'Add' you will be redirected to the newly added client's configuration page.

Status

This section displays DNP3 Clients status information.

DNP3 TCP Client Configuration

The TCP Client Configuration section is used to configure the parameters of a DNP3 Outstation that the Client (this RUTX11 device) will be querying with requests. The figure below is an example of the TCP Client Configuration and the table below provides information on the fields contained in that section:
FieldValueDescription
Enableoff | on; default: offTurns communication with the outstation device on or off.
Namestring; default: noneName of the TCP client, used for easier management purposes.
IP addressip; default: noneDNP3 Outstation IP address.
Portinteger [0..65535]; default: noneDNP3 Outstation Port.
Local Addressinteger [0..65535]; default: noneClients Link-Layer address.
Remote Addressinteger [0..65535]; default: noneOutstation Link-Layer address.
Periodinteger [1..60]; default: noneInterval at which requests are sent to the outstation device.
Timeoutinteger [1..60]; default: noneMaximum response wait time.
Save to flashoff | on; default: offWhen enabled, stores request information in device flash.

Requests Configuration

A DNP3 request is a way of obtaining data from DNP3 Outstations. The client sends a request to an outstation specifying the function codes to be performed. The outstation then sends the requested data back to the DNP3 client.
The Request Configuration list is empty by default. To add a new Request Configuration look to the Add New Instance section. Enter a custom name into the 'New Configuration Name' field and click the 'Add' button:
The new Request Configuration should become visible in the list:
FieldValueDescription
Namestring; default: UnnamedName of this Request Configuration. Used for easier management purposes.
Start Indexinteger [0..65535]; default: noneStart index of the data subarray.
End Indexinteger [0..65535]; default: noneEnd index of the data subarray.
Data TypeBinary | Double Binary | Counter | Frozen Counter | Analog | Octet String | Analog Output Status | Binary Output Status; default: BinaryData object group of the requested index(-es).
Enabledoff | on; default: offTurns the request on or off.
Actions - interactive buttonDeletes request configuration.

Request Configuration Testing

This section is used to check whether the configuration works correctly. Simply click the 'Test' button and a response should appear in the box below. The last value represents the configured request data. A successful response to a test may look something like this:

DNP3 Serial Client

The Serial Client page is used to configure the device as a DNP3 RTU Client. DNP3 RTU (remote terminal unit) is a serial communication protocol mainly used in communication via serial interfaces.
By default, the list is empty. To add a new client instance, enter the instance name, select serial interface and click the 'Add' button.
After clicking 'Add' you will be redirected to the newly added client instance configuration page.

Status

This section displays DNP3 Clients status information.

DNP3 Serial Client Configuration

The Serial Client Configuration section is used to configure the parameters of a DNP3 Outstation that the Client (this RUTX11 device) will be querying with requests. The figure below is an example of the Serial Client Configuration and the table below provides information on the fields contained in that section:
FieldValueDescription
Enableoff | on; default: offTurns communication with the outstation device on or off.
Namestring; default: noneName of the Serial client, used for easier management purposes.
Serial portUSB RS232 interface; default: USB RS232 interfaceSelects which serial port to use for communication.
Baud rate (USB)integer [300..4000000]; default:9600Data rate for serial data transmission (in bits per second (bps)).
Data bits5 | 6 | 7 |8; default: 8Number of data bits for each character.
Stop bits1| 2; default: 1Stop bits sent at the end of every character allow the receiving signal hardware to detect the end of a character and to resynchronise with the character stream. Electronic devices usually use one stop bit. Two stop bits are required if slow electromechanical devices are used.
ParityEven | Odd| Mark | Space | None; default: NoneIn serial transmission, parity is a method of detecting errors. An extra data bit is sent with each data character, arranged so that the number of 1 bits in each character, including the parity bit, is always odd or always even. If a byte is received with the wrong number of 1s, then it must have been corrupted. However, an even number of errors can pass the parity check.
  • None (N) - no parity method is used.
  • Odd (O) - the parity bit is set so that the number of "logical ones (1s)" has to be odd.
  • Even (E) - the parity bit is set so that the number of "logical ones (1s)" has to be even.
  • Space (s) - the parity bit will always be a binary 0.
  • Mark (M) - the parity bit will always be a binary 1.
Flow controlNone | RTS/CTS | Xon/Xoff; default: NoneIn many circumstances a transmitter might be able to send data faster than the receiver is able to process it. To cope with this, serial lines often incorporate a "handshaking" method, usually distinguished between hardware and software handshaking.
  • RTS/CTS - hardware handshaking. RTS and CTS are turned OFF and ON from alternate ends to control data flow, for instance when a buffer is almost full.
  • Xon/Xoff - software handshaking. The Xon and Xoff characters are sent by the receiver to the sender to control when the sender will send data, i.e., these characters go in the opposite direction to the data being sent. The circuit starts in the "sending allowed" state. When the receiver's buffers approach capacity, the receiver sends the Xoff character to tell the sender to stop sending data. Later, after the receiver has emptied its buffers, it sends an Xon character to tell the sender to resume transmission.
Open delayinteger [0..10000]; default: noneSome physical layers need time to 'settle' so that the first tx isn't lost.
Local Addressinteger [0..65535]; default: noneClient Link-Layer address.
Remote Addressinteger [0..65535]; default: noneOutstation Link-Layer address.
Periodinteger [1..60]; default: noneInterval at which requests are sent to the outstation device.
Timeoutinteger [1..60]; default: noneMaximum response wait time.
Save to flashoff | on; default: offWhen enabled, stores request information in device flash.

Requests Configuration

A DNP3 request is a way of obtaining data from DNP3 Outstations. The client sends a request to an outstation specifying the function codes to be performed. The outstation then sends the requested data back to the DNP3 client.
The Request Configuration list is empty by default. To add a new Request Configuration look to the Add New Instance section. Enter a custom name into the 'New Configuration Name' field and click the 'Add' button:
The new Request Configuration should become visible in the list:
FieldValueDescription
Namestring; default: UnnamedName of this Request Configuration. Used for easier management purposes.
Start Indexinteger [0..65535]; default: noneStart index of the data subarray.
End Indexinteger [0..65535]; default: noneEnd index of the data subarray.
Data TypeBinary | Double Binary | Counter | Frozen Counter | Analog | Octet String | Analog Output Status | Binary Output Status; default: BinaryData object group of the requested index(-es).
Enabledoff | on; default: offTurns the request on or off.
Actions - interactive buttonDeletes request configuration.

Request Configuration Testing

This section is used to check whether the configuration works correctly. Simply click the 'Test' button and a response should appear in the box below. The last value represents the configured request data. A successful response to a test may look something like this:

DNP3 Outstation

An outstation in DNP3 is a component that communicates with a single client via a communication channel. It makes measurements of the physical world and then sends them to a client upon request (solicited) or on its own accord (unsolicited). Occasionally a client requests that it do something by sending it a control. This provides the user with the possibility to get system parameters.

General

The figure below is an example of the DNP3 Outstation general window section and the table below provides information on the fields contained in that window:
FieldValueDescription
Enableoff | on; default: offTurns DNP3 Outstation on or off.
Local Addressinteger [0..65535]; default: noneOutstation Link-Layer address.
Remote Addressinteger [0..65535]; default: noneClient Link-Layer address.
Unsolicited enabledoff | on; default: noneEnables the transmission of unsolicited messages.
ProtocolTCP | UDP; default: TCPProtocol used for DNP3 communications.
Portinteger [0..65535]; default: nonePort used for DNP3 communications.
UDP response addressipv4; default: noneUDP response address.
UDP response portinteger [0..65535]; default: noneUDP response port.
Allow Remote Accessoff | on; default: offAllows remote DNP3 connections by adding an exception to the device's firewall on the port specified in the field above.

Data Sources

Data sources transmit data from one or more data sources (can be a Modbus client, DNP3 client, M-BUS, IEC60870-5 client...) and write it to DNP3 objects.
To add new data source, press `Add` button:
Object configuration:
FieldValueDescription
Enableoff | on; default: offTurns Object configuration on or off.
Object namestring; default: noneName of the object.
Object sourcelist; default: noneClient service which will be sending requests.
Object valuelist and permissions type; default: noneRequest value and its permissions (Read-Only, Write-Only or Read-Write).
Object rangeinteger [1..65535]; default: noneSpecify the start index and count for the range.
Object typeBinary | String | Bool | INT8 | UINT8 | INT16 | UINT16 | INT32 | UINT32 | INT64 | UINT64 | FLOAT32 | FLOAT64; default: BinaryValue data type.
DNP3 index rangeinteger; default: noneStart and calculated end index.
DNP3 data typeBinary | Double Binary | Binary Output | Counter; default: BinaryAvailable data types for the selected value.
DNP3 variationDNP3 data type variation.

DNP3 Serial Outstation

An outstation in DNP3 is a component that communicates with a single client via a communication channel. It makes measurements of the physical world and then sends them to a client upon request (solicited) or on its own accord (unsolicited). Occasionally a client requests that it do something by sending it a control. This provides the user with the possibility to get system parameters.

General

General status section displays DNP3 Outstation general status information.
The DNP3 Serial Outstation configuration section is used to configure the parameters of a Serial DNP3 Outstation that will be queried by other Client devices. The figure below is an example of the Serial Outstation Configuration and the table below provides information on the fields contained in that section. By default, the list is empty. To add a new outstation instance, enter the instance name, select serial interface and click the 'Add' button.
FieldValueDescription
Enableoff | on; default: offTurns communication with the outstation device on or off.
Namestring; default: noneName of the Serial outstation, used for easier management purposes.
Serial portUSB RS232 interface; default: USB RS232 interfaceSelects which serial port to use for communication.
Baud rate (USB)integer [300..4000000]; default:9600Data rate for serial data transmission (in bits per second (bps)).
Data bits5 | 6 | 7 |8; default: 8Number of data bits for each character.
Stop bits1| 2; default: 1Stop bits sent at the end of every character allow the receiving signal hardware to detect the end of a character and to resynchronise with the character stream. Electronic devices usually use one stop bit. Two stop bits are required if slow electromechanical devices are used.
ParityEven | Odd| Mark | Space | None; default: NoneIn serial transmission, parity is a method of detecting errors. An extra data bit is sent with each data character, arranged so that the number of 1 bits in each character, including the parity bit, is always odd or always even. If a byte is received with the wrong number of 1s, then it must have been corrupted. However, an even number of errors can pass the parity check.
  • None (N) - no parity method is used.
  • Odd (O) - the parity bit is set so that the number of "logical ones (1s)" has to be odd.
  • Even (E) - the parity bit is set so that the number of "logical ones (1s)" has to be even.
  • Space (s) - the parity bit will always be a binary 0.
  • Mark (M) - the parity bit will always be a binary 1.
Flow controlNone | RTS/CTS | Xon/Xoff; default: NoneIn many circumstances a transmitter might be able to send data faster than the receiver is able to process it. To cope with this, serial lines often incorporate a "handshaking" method, usually distinguished between hardware and software handshaking.
  • RTS/CTS - hardware handshaking. RTS and CTS are turned OFF and ON from alternate ends to control data flow, for instance when a buffer is almost full.
  • Xon/Xoff - software handshaking. The Xon and Xoff characters are sent by the receiver to the sender to control when the sender will send data, i.e., these characters go in the opposite direction to the data being sent. The circuit starts in the "sending allowed" state. When the receiver's buffers approach capacity, the receiver sends the Xoff character to tell the sender to stop sending data. Later, after the receiver has emptied its buffers, it sends an Xon character to tell the sender to resume transmission.
Local Addressinteger [0..65535]; default: noneOutstation Link-Layer address.
Remote Addressinteger [0..65535]; default: noneClient Link-Layer address.
Unsolicited enabledoff | on; default: noneEnables the transmission of unsolicited messages.

Data Sources

Data sources transmit data from one or more data sources (can be a Modbus client, DNP3 client, M-BUS, IEC60870-5 client...) and write it to DNP3 objects.
To add new data source, press `Add` button (Note: DNP3 serial outstation instance is required when creating a new instance.):
Object configuration:
FieldValueDescription
Enableoff | on; default: offTurns Object configuration on or off.
Object namestring; default: noneName of the object.
Object sourcelist; default: noneClient service which will be sending requests.
Object valuelist and permissions type; default: noneRequest value and its permissions (Read-Only, Write-Only or Read-Write).
Object rangeinteger; default: noneSpecify the start index and count for the range.
Object typeBinary | String | Bool | INT8 | UINT8 | INT16 | UINT16 | INT32 | UINT32 | INT64 | UINT64 | FLOAT32 | FLOAT64; default: BinaryValue data type.
DNP3 index rangeinteger; default: noneStart and calculated end index.
DNP3 data typeBinary | Double Binary | Binary Output | Counter; default: BinaryAvailable data types for the selected value.
DNP3 variationDNP3 data type variation.