Changes

no edit summary
Line 1: Line 1:  
{{Template:Networking_rutos_manual_fw_disclosure
 
{{Template:Networking_rutos_manual_fw_disclosure
| fw_version = N/A
+
| fw_version = {{{series}}}_R_00.02.04.1
 
| series    = {{{series}}}
 
| series    = {{{series}}}
 
}}
 
}}
Line 6: Line 6:  
==Summary==
 
==Summary==
   −
The <b>RS485</b> function is designed to utilize the serial interface of the device. Serial interfaces provide a possibility for legacy devices to gain access to IP networks. This chapter is an overview of the RS485 section in {{{name}}} devices.
+
The <b>RS485</b> page is used to configure the operating parameter of RS485 serial connector.
 +
 
 +
This manual page provides an overview of the RS485 page in {{{name}}} devices.
    
===Maximum data rate vs. transmission line length===
 
===Maximum data rate vs. transmission line length===
 
----
 
----
The RS485 standart can be used for network lengths up to 1200 meters, but the maximum usable data rate decreases as the transmission length increases. A device operating at the maximum data transfer rate (10 Mbps) is limited to a transmission length of about 12 meters, while a distance up to 1200 meters can be achieved at 100 Kbps. A rough relation between maximum transmission length and data rate can be calculated using this approximation:
+
The RS485 standard can be used for network lengths up to 1200 meters, but the maximum usable data rate decreases as the transmission length increases. A device operating at the maximum data transfer rate (10 Mbps) is limited to a transmission length of about 12 meters, while a distance up to 1200 meters can be achieved at 100 Kbps. A rough relation between maximum transmission length and data rate can be calculated using this approximation:
    
[[File:Services rs485 formula.PNG]]
 
[[File:Services rs485 formula.PNG]]
Line 16: Line 18:  
Where:
 
Where:
 
<ul>
 
<ul>
<li> '''L<sub>max</sub>''' - maximum cable length in meters</li>
+
    <li><b>L<sub>max</sub></b> - maximum cable length in meters.</li>
<li> '''DR''' - maximum data rate in bits per second</li>
+
    <li><b>DR</b> - maximum data rate in bits per second.</li>
 
</ul>
 
</ul>
   Line 34: Line 36:  
==RS485 Configuration==
 
==RS485 Configuration==
   −
The '''RS485 Configuration''' section is used to configure the parameters of the RS485 serial connection. Parameters used should be selected in accordance with the needs of the user and the type of device connected via the RS485 connector.
+
The <b>RS485 Configuration</b> section is used to set up the main operating parameters and the serial type of the RS485 connector.
   −
The figure below is an example of the RS485 Configuration section and the table below provides information on the fields contained in that section:
+
[[File:Networking_rutos_manual_rs485_rs485_configuration.png|border|class=tlt-border]]
 
  −
[[File:Trb145_webui_services_rs485_configuration_v1.png]]
      
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
         <th>field name</th>
+
         <th>Field</th>
       <th>value</th>
+
       <th>Value</th>
       <th>description</th>
+
       <th>Description</th>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>Enabled</td>
 
       <td>Enabled</td>
       <td>yes | no; Default: <b>no</b></td>
+
       <td>off | on; default: <b>off</b></td>
       <td>Enables the RS485 service</td>
+
       <td>Turns the RS485 service on or off.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
     <td>Baud rate</td>
 
     <td>Baud rate</td>
         <td>300 | 1200 | 2400 | 4800 | 9600 | 19200 | 38400 | 57600 | 115200; Default: <b>115200</b></td>
+
         <td>300 | 1200 | 2400 | 4800 | 9600 | 19200 | 38400 | 57600 | 115200 | 230400 | 460800 | 921600 | 1000000 | 3000000 ; default: <b>300</b></td>
         <td>Data rate for serial data transmission (in bits per second)</td>
+
         <td>Data rate for serial data transmission (in bits per second).</td>
 +
    </tr>
 +
    <tr>
 +
    <td>Data bits</td>
 +
        <td>5 | 6 | 7 | 8; default: <b>7</b></td>
 +
        <td>Number of data bits for each character.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
     <td>Parity</td>
 
     <td>Parity</td>
         <td>None | Odd | Even; Default: <b>None</b></td>
+
         <td>None | Odd | Even; 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>
 
             </ul>
 
             </ul>
 
         </td>
 
         </td>
 +
    </tr>
 +
    <tr>
 +
      <td>Stop bits</td>
 +
      <td>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>
 
     <tr>
 
     <tr>
 
     <td>Flow control</td>
 
     <td>Flow control</td>
         <td>None | RTS/CTS | Xon/Xoff; Default: <b>None</b></td>
+
         <td>None | 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>
 
             <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>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><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.
 
             </ul>
 
             </ul>
 
         </td>
 
         </td>
Line 79: Line 89:  
     <tr>
 
     <tr>
 
     <td>Serial type</td>
 
     <td>Serial type</td>
         <td>[[TRB145_RS485#Console|Console]] | [[TRB145_RS485#Over_IP|Over IP]] | [[TRB145_RS485#Modem|Modem]] | [[TRB145_RS485#Modbus_gateway|Modbus gateway]] | [[TRB145_RS485#NTRIP_client|NTRIP client]]; Default: <b>Console</b></td>
+
         <td>[[#Console|Console]] | [[#Over IP|Over IP]] | [[#Modbus gateway|Modbus gateway]]; default: <b>Console</b></td>
         <td>Serial connection type. More information on each serial type can be seen below or by clicking on a link in the value section</td>
+
         <td>Specifies the serial connection type.<br><b>Look to the sections below for information on different RS485 serial type options.</b></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
    <td>Echo</td>
+
      <td>Full Duplex</td>
        <td>yes | no; Default: <b>no</b></td>
+
      <td>off | on; default: <b>off</b></td>
        <td>Toggles RS485 echo ON or OFF. RS485 echo is a loopback test usually used to check whether the RS485 cable is working properly</td>
+
      <td>Turns RS485 Full Duplex mode on or off.</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
  −
==Serial types==
  −
  −
An RS485 serial connection can function in different ways depending on user needs and what devices are connected to the RS485 connector. This section of the chapter is an overview of all different RS485 serial types.
      
===Console===
 
===Console===
 
----
 
----
In '''Console''' mode the serial interface is set up as a Linux console that can be used to control the device (much like a regular SSH connection, except established via RS485). It can be used for debugging purposes, to get the status of the device or to control it. Click '''[[Command_line_interfaces#RS232.2FRS485_console_.28only_with_RUT955.29|here]]''' to find a guide on how to set up RS485 in console mode.
+
<b>Console</b> mode requires no further configuration than the settings above and is used as a direct-access method to the device's shell interface. For this purpose you may want use such applications as PuTTY on Windows and microcom, minicom, picocom or similar applications on Linux.
 +
 
 +
[[File:Networking_rutos_manual_usb_tools_usb_to_serial_console_v1.png|border|class=tlt-border]]
    
===Over IP===
 
===Over IP===
 
----
 
----
In '''Over IP''' serial type the device provides a connection to a TPC/IP network for the devices connected via the serial interface. The figure below is an example of available configuration fields for the Over IP serial type and the table below provides information on these fields:
+
The <b>Over IP</b> serial type is used to manage serial connections over a TCP/IP network.  
   −
[[File:Trb145_webui_services_rs485_configuration_over_ip_v1.png]]
+
[[File:Networking_rutos_manual_usb_tools_usb_to_serial_over_ip_v1.png|border|class=tlt-border]]
    
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
         <th>field name</th>
+
         <th>Field</th>
       <th>value</th>
+
       <th>Value</th>
       <th>description</th>
+
       <th>Description</th>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>Protocol</td>
 
       <td>Protocol</td>
       <td>TCP; Default: <b>TCP</b></td>
+
       <td>TCP | UDP; default: <b>TCP</b></td>
       <td>Protocol used in the communication process</td>
+
       <td>Protocol used in the communication process.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
     <td>Mode</td>
 
     <td>Mode</td>
         <td>Server | Client | Bidirect; Default: <b>Server</b></td>
+
         <td><span style="color: red;">Server</span> | <span style="color: purple;">Client</span> | Bidirect; default: <b>Server</b></td>
         <td>Device's role in the connection:
+
         <td>This device's role in the connection:
 
             <ul>
 
             <ul>
                 <li><b>Server</b> - the device waits for incoming connections</li>
+
                 <li><b>Server</b> - the device waits for incoming connections.</li>
                 <li><b>Client</b> - the device initiates the connection</li>
+
                 <li><b>Client</b> - the device initiates the connection.</li>
                 <li><b>Bidirect</b> - acts as client by default but waits for incoming connections at the same time</li>
+
                 <li><b>Bidirect</b> - acts as client by default but waits for incoming connections at the same time.</li>
 
             </ul>
 
             </ul>
 
         </td>
 
         </td>
Line 127: Line 135:  
     <tr>
 
     <tr>
 
     <td>No leading zeros</td>
 
     <td>No leading zeros</td>
         <td>yes | no; Default: <b>no</b></td>
+
         <td>off | on; default: <b>off</b></td>
         <td>When checked, indicates that the first hex zeros should be skipped</td>
+
         <td>When checked, indicates that the first hex zeros should be skipped.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
      <td><span style="color: red;">Client settings</span>: Server address</td>
+
    <td><span style="color: red;">Server settings</span>: Port</td>
      <td>ip | host; Default: <b>none</b></td>
+
        <td>integer [0..65535]; default: <b>none</b></td>
      <td>IP address or hostname of the server that the client will connect to</td>
+
        <td>Internal port number used to listen for incoming connections.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td><span style="color: red;">Client settings</span>: TCP port</td>
+
     <td><span style="color: red;">Server settings</span>: Timeout (s)</td>
         <td>integer [0..65535]; Default: <b>none</b></td>
+
         <td>integer; default: <b>none</b></td>
         <td>Server's port number</td>
+
         <td>Specifies an inactivity time limit (in second) after which an inactive clients is disconnected.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td><span style="color: red;">Client settings</span>: Reconnect interval (s)</td>
+
     <td><span style="color: red;">Server settings</span>: Open port automatically</td>
         <td>integer; Default: <b>none</b></td>
+
         <td>off | on; default: <b>on</b></td>
         <td>Time period (in seconds) between reconnection attempts in case a connection fails</td>
+
         <td>Automatically adds a traffic rule in the firewall configuration to open the required port for NTRIP communication.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
    <td><span style="color: purple;">Server settings</span>: TCP port</td>
+
      <td><span style="color: purple;">Client settings</span>: Server Address</td>
        <td>integer [0..65535]; Default: <b>none</b></td>
+
      <td>ip | host; default: <b>none</b></td>
        <td>Internal TCP port number used to listen for incoming connections </td>
+
      <td>IP address or hostname of the server that this client will connect to.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td><span style="color: purple;">Server settings</span>: Timeout (s)</td>
+
     <td><span style="color: red;">Client settings</span>: Port</td>
         <td>integer; Default: <b>none</b></td>
+
         <td>integer [0..65535]; default: <b>none</b></td>
         <td>Disconnects clients after they remain inactive for an amount time (in seconds) specified in this field</td>
+
         <td>Server's listening port number.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td>Output</td>
+
     <td><span style="color: red;">Client settings</span>: Reconnect interval (s)</td>
         <td>OC Output | Relay Output; Default: <b>OC Output</b></td>
+
         <td>integer; default: <b>none</b></td>
         <td>Output to indicate that the application switched from client (default) to server state (this field becomes visible only in Bidirect mode)</td>
+
         <td>Time period (in seconds) between reconnection attempts in case a connection fails.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td>Output state</td>
+
     <td>Echo</td>
         <td>1 | 0; Default: <b>0</b></td>
+
         <td>off | on; default: <b>off</b></td>
         <td>Output state value during which the application reverts to server mode (this field becomes visible only in Bidirect mode)</td>
+
         <td>Turn RS485 echo on or off.</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
Line 169: Line 177:  
===Modbus gateway===
 
===Modbus gateway===
 
----
 
----
The <b>Modbus gateway</b> serial type allows redirecting TCP data coming to a specified port to the RTU specified by the Slave ID. The Slave ID can be specified by the user or be obtained directly from the Modbus header.
+
The <b>Modbus gateway</b> serial type allows redirecting TCP data coming to a specified port to an RTU specified by the Slave ID. The Slave ID can be specified by the user or be obtained directly from the Modbus header.
   −
The figure below is an example of available configuration fields for the Modbus gateway serial type and the table below provides information on these fields:
+
[[File:Networking_rutos_manual_usb_tools_usb_to_serial_modbus_gateway_v1.png|border|class=tlt-border]]
 
  −
[[File:Trb145_webui_services_rs485_configuration_modbus_gateway_v1.png]]
      
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
         <th>field name</th>
+
         <th>Field</th>
       <th>value</th>
+
       <th>Value</th>
       <th>description</th>
+
       <th>Description</th>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>Listening IP</td>
 
       <td>Listening IP</td>
       <td>ip; Default: <b>0.0.0.0</b></td>
+
       <td>ip; default: <b>0.0.0.0</b></td>
       <td>IP address on which the Modbus gateway will wait for incoming connections</td>
+
       <td>IP address to listen for incoming connections. The default value (<i>0.0.0.0</i>) means that this device will listen for incoming connections on any interface or IP address.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
    <td>Port</td>
+
      <td>Port</td>
        <td>integer [0..65535]; Default: <b>502</b></td>
+
      <td>integer [0..65535]; default: <b>502</b></td>
        <td>Port number used to listen for incoming connections</td>
+
      <td>Port number to listen for incoming connections.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td>Slave ID configuration</td>
+
     <td>Slave ID configuration type</td>
         <td>User defined | Obtained from TCP; Default: <b>User defined</b></td>
+
         <td><span style="color: red;">User defined</span> | <span style="color: purple;">Obtained from TCP</span>;<br>default: <b><span style="color: red;">User defined</span></b></td>
         <td>Specifies whether slave IDs should be user defined or automatically obtained from TCP</td>
+
         <td>Specifies whether slave IDs are user defined or automatically obtained from TCP.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td>Slave ID/Permitted slave IDs</td>
+
     <td><span style="color: red;">Slave ID</span> | <span style="color: purple;">Permitted slave IDs</span></td>
         <td>integer | range of integers | multiple integers; Default: <b>1</b>/<b>1-247</b></td>
+
         <td><span style="color: red;">integer</span> | <span style="color: purple;">range of integers</span>;<br>default: <b><span style="color: red;">1</span> or <span style="color: purple;">1-247</span></b></td>
         <td>Slave ID or range of permitted slave IDs. The way this field is named and its function depends on the value of the "Slave ID configuration" field. <br> A range of IDs can be specified by placing a <b>hyphen</b> (<b>-</b>) between two integer numbers. For example, if you permit slave IDs in the range of 10 to 20, you would specify it as: <b>10-20</b><br>You can also specify multiple values that are not connected in a range using <b>commas</b> (<b>,</b>). For example, to specify 6, 50 and 100 as permitted slave IDs, you would have to use: <b>6,50,100</b></td>
+
         <td>Specifies the slave ID of range of permitted slave IDs. The way this field is named and its function depends on the value of the ''Slave ID configuration'' field. <br> A range of IDs can be specified by placing a hyphen (<i>-</i>) between two integer numbers. For example, if you permit slave IDs in the range of 10 to 20, you would specify it as: <i>10-20</i><br>You can also specify multiple values that are not connected in a range using commas (<i>,</i>). For example, to specify 6, 50 and 100 as permitted slave IDs, you would have to use: <i>6,50,100</i></td>
 +
    </tr>
 +
    <tr>
 +
    <td>Open port automatically</td>
 +
        <td>off | on; default: <b>on</b></td>
 +
        <td>Automatically adds a traffic rule in the firewall configuration to open the required port for serial communication.<br><b><u>Caution:</u></b> use with care if listening IP is left as the default value (<i>0.0.0.0</i>). Leaving it as such will leave the device open for remote connections on the specified port.</td>
 +
    </tr>
 +
    <tr>
 +
    <td>Echo</td>
 +
        <td>off | on; default: <b>off</b></td>
 +
        <td>Turn RS485 echo on or off.</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
    
[[Category:{{{name}}} Services section]]
 
[[Category:{{{name}}} Services section]]