OpenSCADAWiki: Home Page En/Doc/ Serial
 
Russian (1 Kb) Ðóññêàÿ âåðñèÿ
Ukrainian (1 Kb) Óêðà¿íñüêà âåðñ³ÿ

Module <Serial> of subsystem “Transports”

Module:Serial
Name:Serial Interface
Type:Transport
Source:tr_Serial.so
Version:0.8.0
Author:Roman Savochenko
Translated:Maxim Lysenko
Description:Provides a serial interface. It is used to data exchange via the serial interfaces of type RS232, RS485, GSM and more.
License:GPL

Contents

Introduction

Module of transport Serial provides support of transports based on the type of serial interfaces RS232, RS485, GSM, and others to the system. Incoming and outgoing transports are supported. To add new incoming and outgoing interfaces is possible by means of configuration of the transport subsystem in the system configurator of Open SCADA.

Into modem mode by the module support misc work mode. Misc mode mean an input transport allow, which wait ingoing connections, and also an output transport allow at idem device. That is the input transport will ignore all requests while the output transport's established connection allow, in idem time the output transport will not try make connection while the input transport have connection or other an output transport connected to other telephone, for example.

Attention! In normal mode, the serial interface is not allowed to reuse one and the same port incoming and outgoing traffic. Global blocking of the serial device is not carried out in mind the ambiguity of this process at the system level, and re-use can lead to unexpected problems. If necessary, Organization of a local serial line with a pair of connected ports is recommended to use the command "$ socat -d -d pty,raw,echo=0,perm=0666 pty,raw,echo=0,perm=0666".

1. Incoming transports

The configured and runnig incoming transport opens port of serial interface for the expectation of the requests of the clients. Each incoming interface is necessarily associated with one of the available transport protocols, to which the incoming messages are transmitted.

Configuration dialog of the incoming serial interface is depicted in Figure 1.

Configuration dialog of the incoming serial interface. (68 Kb)
Fig.1. Configuration dialog of the incoming serial interface.


Using this dialog you can set:

Transport supports the ability to work as a modem. This mode is activated by the fifth parameter of the address and includes call waiting from the remote modem (request "RING"), answering the call (command "ATA") and the subsequent transfer the requests from the remote station to the transport's protocol. Turning off the communication session is made by the initiator of the connection and leads to the reconnect of the modem-receiver for the waiting for new calls.

To configure the modem of the incoming transport the special tab "Modem" is provided (Fig. 2).

[Modem] tab of the modem\'s configuration of the incoming serial interface. (65 Kb)
Fig.2. "Modem" tab of the modem's configuration of the incoming serial interface.


With this dialog you can set the following properties of working with modem:

2. Outgoing transports

Configured and running outgoing transport opens port of the serial interface for the sending the requests through it.

Main tab of the configuration page of outgoing serial interface is shown in Fig.3.

Configuration dialog of the outgoing serial interface. (71 Kb)
Fig.3. Main tab of the configuration page of outgoing serial interface.


Using this dialog you can set:

Transport supports the ability to work as a modem. This mode is activated by the fifth parameter of the address, and implies the phone call making at the number, specified in the fifth parameter, at the moment of transport's start. After installation the connection with the remote modem all requests are sent to the station behind the remote modem. Turning off the communication session at the transport's stop is made using the activity timeout.

To configure the modem of the outgoing transport the special tab "Modem" is provided (Fig. 4).

[Modem] tab of the modem\'s configuration of the outgoing serial interface. (77 Kb)
Fig.4. "Modem" tab of the configuration of modem of outgoing serial interface.


With this dialog you can set the following properties of working with modem:

3. Remarks

Communications via the serial interfaces have a number of features. The most important feature is the criterion for the end of the message and the waiting time of this criterion. In some protocols, such a criterion is a sign of the end or the specified message size. In other protocols, such a criterion is no data in the input stream for a specified time, the character time. In both cases, the waiting time of criterion or character is a crucial and strongly affects the overall exchange time. Consequently, the smaller this time, the better. This is where the problem of hardware and its drivers latency happens.

To check the latency of communication channel and thus optimally to configure the waiting time, character time, you can use the interface tab "Request" of outgoing transport. To do this you need to specify a model request to the protocol, indicating 'Wait timeout', send a request and check its integrity. To obtain the more representative result you should repeat the request a few times. If there is getting incomplete answers, the character time should be increased, else it can be reduced.

In the embedded serial interface RS232/422/485 hardware you can achieve low latency, up to several milliseconds. However, the latency of the high-loaded systems with multiple tasks with a priority of real-time can be nondeterministic in connection with the execution of the events' service thread of the Linux kernel in the low priority. To solve this problem you should install a high priority to these threads that can be done with a script, placing it, for example, to /etc/rc.local:


On the external serial interfaces hardware, such as adapters USB->RS232/422/485, you may meet the problems of high latency associated with the feature of hardware implementation or its driver. The solve this problem you should study the configuration of the equipment or adjust the large waiting time, character time!

Links

Referring pages: HomePageEn/Doc
HomePageEn/Function
HomePageEn/Using/PLC/firmwareARM