Template:Networking rutos manual dnp3: Difference between revisions

From Teltonika Networks Wiki
No edit summary
No edit summary
 
(22 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Template: Networking_rutos_manual_fw_disclosure
{{Template: Networking_device_manual_fw_disclosure
| fw_version ={{Template: Networking_rutos_manual_latest_fw
| series = {{{series}}}
| name  = {{{name}}}
| fw_version ={{Template: Networking_device_manual_latest_fw
  | series = {{{series}}}
  | series = {{{series}}}
  | name  = {{{name}}}
  | name  = {{{name}}}
Line 8: Line 10:
==Summary==
==Summary==


<b>Distributed Network Protocol 3 (DNP3)</b> is a set of communications protocols used between components in process automation systems. It is primarily used for communications between a master station and Remote Terminal Units (RTUs) or Intelligent Electronic Devices (IEDs).
<b>Distributed Network Protocol 3 (DNP3)</b> 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 {{{name}}} devices.
This manual page provides an overview of the DNP3 functionality in {{{name}}} devices.


<b>Note:</b> DNP3 is additional software that can be installed from the <b>Services → [[{{{name}}} Package Manager|Package Manager]]</b> page.</u>
<b>Note:</b> DNP3 is additional software that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page.</u>


==DNP3 Parameters==
==DNP3 Parameters==
Line 62: Line 64:
|TRB142=
|TRB142=
|TRB145=
|TRB145=
|
|#default=
     <tr>
     <tr>
         <td>LAN MAC Address</td>
         <td>LAN MAC Address</td>
Line 317: Line 319:
         <td>Octet String</td>
         <td>Octet String</td>
     </tr>
     </tr>
}}
}}{{#switch:{{{name}}}|RUT200|RUT241|RUT260|RUT901|RUT951|RUTM50|RUTX08|RUTX09|RUTX10|RUTX11|RUTX12|RUTX14|RUTX50|RUTXR1=
    <tr>
        <td>IO din1, is high?</td>
        <td>72</td>
        <td>Binary</td>RUT
    </tr>}}{{#switch:{{{name}}}|RUT906|RUT956=
    <tr>
        <td>IO din2, is high?</td>
        <td>73</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|RUT200|RUT241|RUT260|RUT901|RUT951|RUTM50|RUTX08|RUTX09|RUTX10|RUTX11|RUTX12|RUTX14|RUTX50|RUTXR1=
    <tr>
        <td>IO dout1, is high?</td>
        <td>74</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|RUT906|RUT956=
    <tr>
        <td>IO dout2, is high?</td>
        <td>75</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|RUT300|RUT301|RUT360|RUT361|TRB140|TRB141|TRB142|TRB143|TRB145|TRB245|TRB246|TRB255|TRB256|TRB500=
    <tr>
        <td>IO dio0, is high?</td>
        <td>76</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|RUT300|RUT301|RUT360|RUT361|TRB140|TRB141|TRB142|TRB143|TRB145|TRB245|TRB246|TRB255|TRB256|TRB500=
    <tr>
        <td>IO dio1, is high?</td>
        <td>78</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|TRB245|TRB246|TRB255|TRB256=
    <tr>
        <td>IO dio2, is high?</td>
        <td>80</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|TRB141=
    <tr>
        <td>IO onewire, is high?</td>
        <td>82</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|RUT906|RUT956|TRB141=
    <tr>
        <td>IO iio, is high?</td>
        <td>83</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|TRB141=
    <tr>
        <td>IO dwi0, is high?</td>
        <td>84</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|TRB141=
    <tr>
        <td>IO dwi1, is high?</td>
        <td>86</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|RUT906|RUT956|TRB141=
    <tr>
        <td>IO relay0, is closed?</td>
        <td>88</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|TRB141=
    <tr>
        <td>IO relay1, is closed?</td>
        <td>89</td>
        <td>Binary</td>
    </tr>}}{{#switch:{{{name}}}|RUT906|RUT956=
    <tr>
        <td>IO acl0, current</td>
        <td>91</td>
        <td>Analog</td>
    </tr>}}{{#switch:{{{name}}}|RUT906|RUT956|TRB245|TRB246|TRB255|TRB256=
    <tr>
        <td>IO adc0</td>
        <td>92</td>
        <td>Analog</td>
    </tr>}}
</table>
</table>


Line 482: Line 559:
     </tr>
     </tr>
</table>
</table>
{{#switch:{{{name}}}
{{#switch:{{{name}}}
|RUTX12=
|RUTX12=
Line 493: Line 569:
}}
}}


==TCP Master==
==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.
 
[[File:Networking_rutos_manual_dnp3_tcp_master_add_button_v3.png|border|class=tlt-border]]


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


[[File:Networking_rutos_manual_dnp3_tcp_master_add_button.png|border|class=tlt-border]]
===Status===
----
This section displays DNP3 Clients status information.


After clicking 'Add' you will be redirected to the newly added master's configuration page.
[[File:Networking_rutos_manual_dnp3_tcp_client_status.png|border|class=tlt-border]]


===TCP Master Configuration===
===DNP3 TCP Client Configuration===
----
----
The <b>TCP Master Configuration</b> section is used to configure the parameters of a DNP3 Outstation that the Master (this {{{name}}} device) will be querying with requests. The figure below is an example of the TCP Master Configuration and the table below provides information on the fields contained in that section:
The <b>TCP Client Configuration</b> section is used to configure the parameters of a DNP3 Outstation that the Client (this {{{name}}} 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:


[[File:Networking_rutos_manual_dnp3_tcp_master_tcp_master_configuration_v2.png|border|class=tlt-border]]
[[File:Networking_rutos_manual_dnp3_tcp_client_tcp_client_configuration_v1.png|border|class=tlt-border]]


<table class="nd-mantable">
<table class="nd-mantable">
Line 515: Line 597:
     <tr>
     <tr>
         <td>Enable</td>
         <td>Enable</td>
         <td>off | on; default: <b>off</b></td>
         <td>off {{!}} on; default: <b>off</b></td>
         <td>Turns communication with the outstation device on or off.</td>
         <td>Turns communication with the outstation device on or off.</td>
     </tr>
     </tr>
Line 521: Line 603:
         <td>Name</td>
         <td>Name</td>
         <td>string; default: <b>none</b></td>
         <td>string; default: <b>none</b></td>
         <td>Name of the TCP master, used for easier management purposes.</td>
         <td>Name of the TCP client, used for easier management purposes.</td>
     </tr>
     </tr>
     <tr>
     <tr>
Line 536: Line 618:
         <td>Local Address</td>
         <td>Local Address</td>
         <td>integer [0..65535]; default: <b>none</b></td>
         <td>integer [0..65535]; default: <b>none</b></td>
         <td>Master Link-Layer address.</td>
         <td>Clients Link-Layer address.</td>
     </tr>
     </tr>
     <tr>
     <tr>
Line 555: Line 637:
     <tr>
     <tr>
         <td>Save to flash</td>
         <td>Save to flash</td>
         <td>off | on; default: <b>off</b></td>
         <td>off {{!}} on; default: <b>off</b></td>
         <td>When enabled, stores device in device flash.</td>
         <td>When enabled, stores request information in device flash.</td>
     </tr>
     </tr>
</table>
</table>
Line 562: Line 644:
===Requests Configuration===
===Requests Configuration===
----
----
A DNP3 <b>request</b> is a way of obtaining data from DNP3 Outstations. The master sends a request to an outstation specifying the function codes to be performed. The outstation then sends the requested data back to the DNP3 master.
A DNP3 <b>request</b> 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 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:


[[File:Networking_rutos_manual_dnp3_tcp_master_tcp_master_configuration_requests_configuration_add_new_instance_v2.png|border|class=tlt-border]]
[[File:Networking_rutos_manual_dnp3_tcp_master_tcp_master_configuration_requests_configuration_add_new_instance_v3.png|border|class=tlt-border]]


The new Request Configuration should become visible in the list:
The new Request Configuration should become visible in the list:


[[File:Networking_rutos_manual_dnp3_tcp_master_requests_configuration.png|border|class=tlt-border]]
[[File:Networking_rutos_manual_dnp3_tcp_client_requests_configuration_v1.png|border|class=tlt-border]]


<table class="nd-mantable">
<table class="nd-mantable">
Line 595: Line 677:
     <tr>
     <tr>
         <td>Data Type</td>
         <td>Data Type</td>
         <td>Binary | Double Binary | Counter | Frozen Counter | Analog | Octet String | Analog Output Status | Binary Output Status; default: <b>Binary</b></td>
         <td>Binary {{!}} Double Binary {{!}} Counter {{!}} Frozen Counter {{!}} Analog {{!}} Octet String {{!}} Analog Output Status {{!}} Binary Output Status; default: <b>Binary</b></td>
         <td>Data object group of the requested index(-es).</td>
         <td>Data object group of the requested index(-es).</td>
     </tr>
     </tr>
     <tr>
     <tr>
         <td>off/on slider</td>
         <td>Enabled</td>
         <td>off | on; default: <b>off</b></td>
         <td>off {{!}} on; default: <b>off</b></td>
         <td>Turns the request on or off.</td>
         <td>Turns the request on or off.</td>
    </tr>
    <tr>
        <td>Actions</td>
        <td> - interactive button</td>
        <td>Deletes request configuration.</td>
     </tr>
     </tr>
</table>
</table>
Line 612: Line 699:


{{#ifeq:{{{serial}}} | 1 |
{{#ifeq:{{{serial}}} | 1 |
==Serial Master==
==DNP3 Serial Client==
 
The <b>Serial Client</b> 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.


The <b>Serial Master</b> page is used to configure the device as a DNP3 RTU Master. 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.


===Serial Master Configuration===
[[File:Networking_rutos_manual_generic_serial_instance_add_button_rs232_{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|1|0}}v3.png|border|class=tlt-border]]
 
After clicking 'Add' you will be redirected to the newly added client instance configuration page.
 
===Status===
----
----
The <b>Serial Master Configuration</b> section is used to configure the parameters of a DNP3 Outstation that the Master (this {{{name}}} device) will be querying with requests. The figure below is an example of the Serial Master Configuration and the table below provides information on the fields contained in that section:
This section displays DNP3 Clients status information.


[[File:Networking_rutos_manual_dnp3_serial_master_serial_master_configuration.png|border|class=tlt-border]]
[[File:Networking_rutos_manual_dnp3_serial_client_status.png|border|class=tlt-border]]
 
===DNP3 Serial Client Configuration===
----
The <b>Serial Client Configuration</b> section is used to configure the parameters of a DNP3 Outstation that the Client (this {{{name}}} 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:
 
[[File:Networking_rutos_manual_dnp3_serial_client_configuration_rs232_{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|1|0}}_v1.png|border|class=tlt-border]]


<table class="nd-mantable">
<table class="nd-mantable">
Line 630: Line 729:
     <tr>
     <tr>
         <td>Enable</td>
         <td>Enable</td>
         <td>off <nowiki>|</nowiki> on; default: <b>off</b></td>
         <td>off {{!}} on; default: <b>off</b></td>
         <td>Turns communication with the outstation device on or off.</td>
         <td>Turns communication with the outstation device on or off.</td>
     </tr>
     </tr>
Line 636: Line 735:
         <td>Name</td>
         <td>Name</td>
         <td>string; default: <b>none</b></td>
         <td>string; default: <b>none</b></td>
         <td>Name of the Serial master, used for easier management purposes.</td>
         <td>Name of the Serial client, used for easier management purposes.</td>
     </tr>
     </tr>
     <tr>
     <tr>
         <td>Serial port</td>
         <td>Serial port</td>
         <td>{{#ifeq:{{{rs232}}} | 1 | RS232 |}} {{#ifeq:{{{rs232}}} | 1 | {{#ifeq:{{{rs485}}} | 1 | <nowiki>| </nowiki> |}} |}}{{#ifeq:{{{rs485}}} | 1 | RS485 |}};{{#ifeq:{{{usb}}} | 1 | USB serial port |}} default: <b>{{#ifeq:{{{rs232}}} | 1 | RS232 | RS485}}</b></td>  
         <td>{{Template: Networking rutos manual serial ports| rs232={{{rs232}}}| rs485={{{rs485}}}| usb = {{{usb}}}}}; default: <b>{{Template: Networking rutos manual default serial port| rs232={{{rs232}}}| rs485={{{rs485}}}| usb = {{{usb}}}}}</b></td>  
         <td>Selects which serial port to use for communication.</td>
         <td>Selects which serial port to use for communication.</td>
     </tr>
     </tr>{{#ifeq: {{{rs485}}} | 1 |
    <tr>
    <td>Baud rate (RS485)</td>
        <td>integer [300..230400]; default:<b>9600</b></td>
        <td>Data rate for serial data transmission (in bits per second (bps)).</td>
    </tr>|}}{{#ifeq: {{{rs232}}} | 1 |
    <tr>
    <td>Baud rate (RS232)</td>
        <td>integer [300..115200]; default:<b>9600</b></td>
        <td>Data rate for serial data transmission (in bits per second (bps)).</td>
    </tr>|}}{{#ifeq: {{{usb}}} | 1 |
     <tr>
     <tr>
        <td>Baud rate</td>
    <td>Baud rate (USB)</td>
         <td>300 <nowiki>|</nowiki> 1200 <nowiki>|</nowiki> 2400 <nowiki>|</nowiki> 4800 <nowiki>|</nowiki> 9600 <nowiki>|</nowiki> 19200 <nowiki>|</nowiki> 38400 <nowiki>|</nowiki> 57600 <nowiki>|</nowiki> 115200; default: <b>115200</b></td>
         <td>integer [300..4000000]; default:<b>9600</b></td>
         <td>Serial data transmission rate (in bits per second).</td>
         <td>Data rate for serial data transmission (in bits per second (bps)).</td>
     </tr>
     </tr>|}}
     <tr>
     <tr>
         <td>Data bits</td>
         <td>Data bits</td>
         <td>5 <nowiki>|</nowiki> 6 <nowiki>|</nowiki> 7 <nowiki>|</nowiki> 8; default: <b>8</b></td>
         <td>{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|{{#ifeq:{{{series}}}|TRB2||5 {{!}} 6 {{!}}}} 7 {{!}} |}}8; default: <b>8</b></td>
         <td>Number of data bits for each character.</td>
         <td>Number of data bits for each character.</td>
     </tr>
     </tr>
     <tr>
     <tr>
         <td>Stop bits</td>
         <td>Stop bits</td>
         <td>None <nowiki>|</nowiki> 1 <nowiki>|</nowiki> 1.5 <nowiki>|</nowiki> 2; default: <b>1</b></td>
         <td>1{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1| {{!}} 2|}}; default: <b>1</b></td>
         <td>Stop 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.</td>
         <td>Stop 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.</td>
     </tr>
     </tr>
     <tr>
     <tr>
         <td>Parity</td>
         <td>Parity</td>
         <td>None <nowiki>|</nowiki> Even <nowiki>|</nowiki> Odd; default: <b>None</b></td>
         <td>Even {{!}} Odd{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1| {{!}} Mark {{!}} Space|}} {{!}} None; default: <b>None</b></td>
         <td>In 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.
         <td>In 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.
             <ul>
             <ul>
                 <li><b>None</b> (<b>N</b>) - no parity method is used.</li>
                 <li><b>None</b> (<b>N</b>) - no parity method is used.</li>
                 <li><b>Odd</b> (<b>O</b>) - the parity bit is set so that the number of "logical ones (1s)" has to be odd.</li>
                 <li><b>Odd</b> (<b>O</b>) - the parity bit is set so that the number of "logical ones (1s)" has to be odd.</li>
                 <li><b>Even</b> (<b>E</b>) - the parity bit is set so that the number of "logical ones (1s)" has to be even.</li>
                 <li><b>Even</b> (<b>E</b>) - the parity bit is set so that the number of "logical ones (1s)" has to be even.</li>{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|<li><b>Space</b> (<b>s</b>) - the parity bit will always be a binary 0.</li>
                <li><b>Mark</b> (<b>M</b>) - the parity bit will always be a binary 1.</li>|}}
             </ul>
             </ul>
         </td>
         </td>
Line 671: Line 781:
     <tr>
     <tr>
         <td>Flow control</td>
         <td>Flow control</td>
         <td>None <nowiki>|</nowiki> Hardware <nowiki>|</nowiki> Xon/Xoff; default: <b>None</b></td>
         <td>None {{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1| {{!}} RTS/CTS {{!}} Xon/Xoff|}}; default: <b>None</b></td>
         <td>In 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.
         <td>In 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.
            <ul>
{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|<ul>
                 <li><b>Hardware</b> - 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.</li>
                 <li><b>RTS/CTS</b> - 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.</li>
                 <li><b>Xon/Xoff</b> - 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.</li>
                 <li><b>Xon/Xoff</b> - 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.</li>
             </ul>
             </ul>|}}
         </td>
         </td>
     </tr>
     </tr>{{#switch: {{{series}}} | RUT206 = | #default = {{#ifeq: {{{rs485}}} | 1 |
    <tr>
        <td><span style="color:blue">RS485:</span> Full Duplex</td>
        <td>off {{!}} on; default: <b>off</b></td>
        <td>Enables RS485 full duplex.</td>
    </tr>|}}}}
     <tr>
     <tr>
         <td>Open delay</td>
         <td>Open delay</td>
Line 687: Line 802:
         <td>Local Address</td>
         <td>Local Address</td>
         <td>integer [0..65535]; default: <b>none</b></td>
         <td>integer [0..65535]; default: <b>none</b></td>
         <td>Master Link-Layer address.</td>
         <td>Client Link-Layer address.</td>
     </tr>
     </tr>
     <tr>
     <tr>
Line 703: Line 818:
         <td>integer [1..60]; default: <b>none</b></td>
         <td>integer [1..60]; default: <b>none</b></td>
         <td>Maximum response wait time.</td>
         <td>Maximum response wait time.</td>
    </tr>
    <tr>
        <td>Save to flash</td>
        <td>off {{!}} on; default: <b>off</b></td>
        <td>When enabled, stores request information in device flash.</td>
     </tr>
     </tr>
</table>
</table>
Line 708: Line 828:
===Requests Configuration===
===Requests Configuration===
----
----
A DNP3 <b>request</b> is a way of obtaining data from DNP3 Outstations. The master sends a request to an outstation specifying the function codes to be performed. The outstation then sends the requested data back to the DNP3 master.
A DNP3 <b>request</b> 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 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:
Line 716: Line 836:
The new Request Configuration should become visible in the list:
The new Request Configuration should become visible in the list:


[[File:Networking_rutos_manual_dnp3_tcp_master_requests_configuration.png|border|class=tlt-border]]
[[File:Networking_rutos_manual_dnp3_tcp_master_requests_configuration_v1.png|border|class=tlt-border]]


<table class="nd-mantable">
<table class="nd-mantable">
Line 741: Line 861:
     <tr>
     <tr>
         <td>Data Type</td>
         <td>Data Type</td>
         <td>Binary <nowiki>|</nowiki> Double Binary <nowiki>|</nowiki> Counter <nowiki>|</nowiki> Frozen Counter <nowiki>|</nowiki> Analog <nowiki>|</nowiki> Octet String <nowiki>|</nowiki> Analog Output Status <nowiki>|</nowiki> Binary Output Status; default: <b>Binary</b></td>
         <td>Binary {{!}} Double Binary {{!}} Counter {{!}} Frozen Counter {{!}} Analog {{!}} Octet String {{!}} Analog Output Status {{!}} Binary Output Status; default: <b>Binary</b></td>
         <td>Data object group of the requested index(-es).</td>
         <td>Data object group of the requested index(-es).</td>
     </tr>
     </tr>
     <tr>
     <tr>
         <td>off/on slider</td>
         <td>Enabled</td>
         <td>off <nowiki>|</nowiki> on; default: <b>off</b></td>
         <td>off {{!}} on; default: <b>off</b></td>
         <td>Turns the request on or off.</td>
         <td>Turns the request on or off.</td>
    </tr>
    <tr>
        <td>Actions</td>
        <td> - interactive button</td>
        <td>Deletes request configuration.</td>
     </tr>
     </tr>
</table>
</table>
Line 760: Line 885:
==DNP3 Outstation==
==DNP3 Outstation==


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


The figure below is an example of the DNP3 Outstation window section and the table below provides information on the fields contained in that window:
The figure below is an example of the DNP3 Outstation window section and the table below provides information on the fields contained in that window:


[[File:Networking_rutos_manual_dnp3_dnp3_outstation.png|border|class=tlt-border]]
[[File:Networking_rutos_manual_dnp3_outstation_status.png|border|class=tlt-border]]
 
[[File:Networking_rutos_manual_dnp3_dnp3_outstation_v1.png|border|class=tlt-border]]


<table class="nd-mantable">
<table class="nd-mantable">
Line 774: Line 901:
     <tr>
     <tr>
       <td>Enable</td>
       <td>Enable</td>
       <td>off | on; default: <b>off</b></td>
       <td>off {{!}} on; default: <b>off</b></td>
       <td>Turns DNP3 Outstation on or off.</td>
       <td>Turns DNP3 Outstation on or off.</td>
     </tr>
     </tr>
Line 785: Line 912:
         <td>Remote Address</td>
         <td>Remote Address</td>
         <td>integer [0..65535]; default: <b>none</b></td>
         <td>integer [0..65535]; default: <b>none</b></td>
         <td>Master Link-Layer address.</td>
         <td>Client Link-Layer address.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Unsolicited enabled</td>
       <td>Unsolicited enabled</td>
         <td>off | on; default: <b>none</b></td>
         <td>off {{!}} on; default: <b>none</b></td>
       <td>Enables the transmission of unsolicited messages.</td>
       <td>Enables the transmission of unsolicited messages.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Protocol</td>
       <td>Protocol</td>
       <td>TCP | <span style="color:red">UDP</span>; default: <b>TCP</b></td>
       <td>TCP {{!}} <span style="color:red">UDP</span>; default: <b>TCP</b></td>
       <td>Protocol used for DNP3 communications.</td>
       <td>Protocol used for DNP3 communications.</td>
     </tr>
     </tr>
Line 814: Line 941:
     <tr>
     <tr>
     <td>Allow Remote Access</td>
     <td>Allow Remote Access</td>
         <td>off | on; default: <b>off</b></td>
         <td>off {{!}} on; default: <b>off</b></td>
         <td>Allows remote DNP3 connections by adding an exception to the device's firewall on the port specified in the field above.</td>
         <td>Allows remote DNP3 connections by adding an exception to the device's firewall on the port specified in the field above.</td>
     </tr>
     </tr>
</table>
</table>
{{#ifeq:{{{serial}}} | 1 |
==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.
===Status===
----
This section displays DNP3 Clients status information.
[[File:Networking_rutos_manual_dnp3_serial_outstation_status.png|border|class=tlt-border]]
===DNP3 Serial Outstation Configuration===
----
The <b>DNP3 Serial Outstation Configuration</b> page is used to configure the device as a DNP3 RTU Outstation. 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 outstation instance, enter the instance name, select serial interface and click the 'Add' button.
[[File:Networking rutos manual generic serial outstation instance add button rs232_{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|1|0}}_v1.png|border|class=tlt-border]]
After clicking 'Add' you will be redirected to the newly added outstation instance configuration page.
===RS Device DNP3 Outstation Configuration===
----
The <b>RS Device DNP3 Outstation Configuration</b> 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:
[[File:Networking_rutos_manual_dnp3_serial_outstation_configuration_rs232_{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|1|0}}_v1.png|border|class=tlt-border]]
<table class="nd-mantable">
    <tr>
        <th>Field</th>
        <th>Value</th>
        <th>Description</th>
    </tr>
    <tr>
        <td>Enable</td>
        <td>off {{!}} on; default: <b>off</b></td>
        <td>Turns communication with the outstation device on or off.</td>
    </tr>
    <tr>
        <td>Name</td>
        <td>string; default: <b>none</b></td>
        <td>Name of the Serial outstation, used for easier management purposes.</td>
    </tr>
    <tr>
        <td>Serial port</td>
        <td>{{Template: Networking rutos manual serial ports| rs232={{{rs232}}}| rs485={{{rs485}}}| usb = {{{usb}}}}}; default: <b>{{Template: Networking rutos manual default serial port| rs232={{{rs232}}}| rs485={{{rs485}}}| usb = {{{usb}}}}}</b></td>
        <td>Selects which serial port to use for communication.</td>
    </tr>{{#ifeq: {{{rs485}}} | 1 |
    <tr>
    <td>Baud rate (RS485)</td>
        <td>integer [300..230400]; default:<b>9600</b></td>
        <td>Data rate for serial data transmission (in bits per second (bps)).</td>
    </tr>|}}{{#ifeq: {{{rs232}}} | 1 |
    <tr>
    <td>Baud rate (RS232)</td>
        <td>integer [300..115200]; default:<b>9600</b></td>
        <td>Data rate for serial data transmission (in bits per second (bps)).</td>
    </tr>|}}{{#ifeq: {{{usb}}} | 1 |
    <tr>
    <td>Baud rate (USB)</td>
        <td>integer [300..4000000]; default:<b>9600</b></td>
        <td>Data rate for serial data transmission (in bits per second (bps)).</td>
    </tr>|}}
    <tr>
        <td>Data bits</td>
        <td>{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|{{#ifeq:{{{series}}}|TRB2||5 {{!}} 6 {{!}}}} 7 {{!}} |}}8; default: <b>8</b></td>
        <td>Number of data bits for each character.</td>
    </tr>
    <tr>
        <td>Stop bits</td>
        <td>1{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1| {{!}} 2|}}; default: <b>1</b></td>
        <td>Stop 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.</td>
    </tr>
    <tr>
        <td>Parity</td>
        <td>Even {{!}} Odd{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1| {{!}} Mark {{!}} Space|}} {{!}} None; default: <b>None</b></td>
        <td>In 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.
            <ul>
                <li><b>None</b> (<b>N</b>) - no parity method is used.</li>
                <li><b>Odd</b> (<b>O</b>) - the parity bit is set so that the number of "logical ones (1s)" has to be odd.</li>
                <li><b>Even</b> (<b>E</b>) - the parity bit is set so that the number of "logical ones (1s)" has to be even.</li>{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|<li><b>Space</b> (<b>s</b>) - the parity bit will always be a binary 0.</li>
                <li><b>Mark</b> (<b>M</b>) - the parity bit will always be a binary 1.</li>|}}
            </ul>
        </td>
    </tr>
    <tr>
        <td>Flow control</td>
        <td>None {{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1| {{!}} RTS/CTS {{!}} Xon/Xoff|}}; default: <b>None</b></td>
        <td>In 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.
{{#ifeq:{{#expr: {{{rs232}}} or {{{usb}}}}} |1|<ul>
                <li><b>RTS/CTS</b> - 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.</li>
                <li><b>Xon/Xoff</b> - 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.</li>
            </ul>|}}
        </td>
    </tr>
    <tr>
        <td>Local Address</td>
        <td>integer [0..65535]; default: <b>none</b></td>
        <td>Outstation Link-Layer address.</td>
    </tr>
    <tr>
        <td>Remote Address</td>
        <td>integer [0..65535]; default: <b>none</b></td>
        <td>Client Link-Layer address.</td>
    </tr>
    <tr>
      <td>Unsolicited enabled</td>
        <td>off {{!}} on; default: <b>none</b></td>
      <td>Enables the transmission of unsolicited messages.</td>
    </tr>{{#switch: {{{series}}} | RUT206 = | #default = {{#ifeq: {{{rs485}}} | 1 |
    <tr>
        <td><span style="color:blue">RS485:</span> Full Duplex</td>
        <td>off {{!}} on; default: <b>off</b></td>
        <td>Enables RS485 full duplex.</td>
    </tr>|}}}}
</table>
|}}


[[Category:{{{name}}} Services section]]
[[Category:{{{name}}} Services section]]

Latest revision as of 13:43, 12 November 2024

The information in this page is updated in accordance with firmware version .

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 {{{name}}} devices.

Note: DNP3 is additional software that can be installed from the System → [[{{{name}}} Package Manager|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 value index group type
Uptime 0 Counter
Hostname 3 Octet String
Router Serial Number 5 Octet String
LAN MAC Address 6 Octet String
Router name 7 Octet String


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 {{{name}}} 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:

Field Value Description
Enable off | on; default: off Turns communication with the outstation device on or off.
Name string; default: none Name of the TCP client, used for easier management purposes.
IP address ip; default: none DNP3 Outstation IP address.
Port integer [0..65535]; default: none DNP3 Outstation Port.
Local Address integer [0..65535]; default: none Clients Link-Layer address.
Remote Address integer [0..65535]; default: none Outstation Link-Layer address.
Period integer [1..60]; default: none Interval at which requests are sent to the outstation device.
Timeout integer [1..60]; default: none Maximum response wait time.
Save to flash off | on; default: off When 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:

Field Value Description
Name string; default: Unnamed Name of this Request Configuration. Used for easier management purposes.
Start Index integer [0..65535]; default: none Start index of the data subarray.
End Index integer [0..65535]; default: none End index of the data subarray.
Data Type Binary | Double Binary | Counter | Frozen Counter | Analog | Octet String | Analog Output Status | Binary Output Status; default: Binary Data object group of the requested index(-es).
Enabled off | on; default: off Turns the request on or off.
Actions - interactive button Deletes 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.

The figure below is an example of the DNP3 Outstation window section and the table below provides information on the fields contained in that window:

Field Value Description
Enable off | on; default: off Turns DNP3 Outstation on or off.
Local Address integer [0..65535]; default: none Outstation Link-Layer address.
Remote Address integer [0..65535]; default: none Client Link-Layer address.
Unsolicited enabled off | on; default: none Enables the transmission of unsolicited messages.
Protocol TCP | UDP; default: TCP Protocol used for DNP3 communications.
Port integer [0..65535]; default: none Port used for DNP3 communications.
UDP response address ipv4; default: none UDP response address.
UDP response port integer [0..65535]; default: none UDP response port.
Allow Remote Access off | on; default: off Allows remote DNP3 connections by adding an exception to the device's firewall on the port specified in the field above.


[[Category:{{{name}}} Services section]]