Supported device types and versions
Communication line configuration
Communication station configuration
I/O tag configuration
Changes and modifications
Document revisions
Supported device types and versions
The ASCII Client/Server protocol is intended for parsing serial communication containing simple text-oriented data (data sentences) that conform to a template
StartMark Data1 Separator Data2 Separator .... DataN EndMark
StartMark, Separator and EndMark parameters can be configured within the station address.
It is also possible to periodically transmit text-oriented data with an identical template - with the fact that the StartMark, Separator and EndMark parameters for transmission can be different from those for reception.
Example of received data:
Vysielam<CR><LF>11.8<CR><LF>-17.519723239035<CR><LF>12.2<CR><LF>0.3312<CR><LF>1.465<CR><LF>0.01<CR><LF> 11.384611976362<CR><LF>
Setting individual parameters:
StartMark = ielam<CR><LF>
Separator = <CR><LF>
EndMark = Vys
Note: this communication protocol is simpler than the Generic User Protocol and only offers simple value parsing. On the other hand, parsing does not need to be implemented in the ESL script, but is performed directly by the KOM process.
Communication line configuration
Category of communication line:
Communication station configuration
Communication protocol ASCII Client/Server.
Data Input section
Receiving enabled - the protocol processes input data.
Startup - text sequence indicating the start of data (StartMark). The end of the sequence must be followed by data.
Value delimiter - text sequence separating individual values (Separator).
End mark - text sequence indicating the end of data (EndMark).
Data output section
Transmitting enabled - the protocol writes data with the period Data output period.
Startup - text sequence written at the beginning of the data (StartMark).
Value delimiter - text sequence separating individual recorded values (Separator).
End mark - text sequence written at the end of the data (EndMark).
Note: StartMark, Separator and EndMark parameters can also contain special (control) characters in symbolic form, e.g. <CR> or <LF>. The following table lists the supported characters:
Table 1
Symbolic form | Character | ASCII value |
---|---|---|
<NUL> | NUL | 0 |
<SOH> | SOH | 1 |
<STX> | STX | 2 |
<ETX> | ETX | 3 |
<EOT> | EOT | 4 |
<ENQ> | ENQ | 5 |
<ACK> | ACK | 6 |
<BEL> | BEL | 7 |
<BS> | BS | 8 |
<HT> | HT | 9 |
<LF> | LF | 10 |
<VT> | VT | 11 |
<FF> | FF | 12 |
<CR> | CR | 13 |
<SO> | SO | 14 |
<SI> | SI | 15 |
<DLE> | DLE | 16 |
<DC1> | DC1 | 17 |
<DC2> | DC2 | 18 |
<DC3> | DC3 | 19 |
<DC4> | DC4 | 20 |
<NAK> | NAK | 21 |
<SYN> | SYN | 22 |
<ETB> | ETB | 23 |
<CAN> | CAN | 24 |
<EM> | EM | 25 |
<SUB> | SUB | 26 |
<ESC> | ESC | 27 |
<FS> | FS | 28 |
<GS> | GS | 29 |
<RS> | RS | 30 |
<US> | US | 31 |
<SPACE> | SPACE | 32 |
Station protocol parameters
The following station parameters can be set:
Table 2
Full name | Description | Unit | Default value |
---|---|---|---|
Wait timeout | Waiting between data readings. | sec | 0.2 |
Maximum read timeout | Maximum reading time of one data sentence (if data input is enabled in the station configuration). | sec | 5 |
Data output period | Data transmission period (if transmission is enabled in the station configuration). | sec | 60 |
Moxa timeout | If the SerialOverUDP Device Redundant communication line is used, on which two serial servers are configured (e.g. Moxa NPort), the parameter specifies a timeout after which the redundant serial servers will be switched in the event of a communication error (if no data is received within this time limit). | sec | 120 |
I/O tag configuration
Possible value types of I/O tag: Ai, Ci, Ao, Co.
Input I/O tags:
- The input I/O tag has an address IN.
Note: on redundant lines an I/O tag with address IN receives values read from any line (primary/secondary), eventually from any system (A/B). - on line-redundant lines (Serial Line Redundant, SerialOverUDP Line Redundant, TCP/IP-TCP Redundant) it is possible to configure I/O tags with addresses IN_A and IN_B to distinguish inputs from primary/secondary line
- on system-redundant lines (Serial System&Line Redundant, SerialOverUDP System&Line Redundant) it is possible to configure I/O tags with addresses IN_A, IN_B, IN_C, IN_D to distinguish inputs from primary/secondary line of system A/B
Output I/O tags:
- The output I/O tag has an address OUT.
Note: on redundant lines values written to an I/O tag with address OUT are written to both lines (primary/secondary), eventually to both systems (A/B). - on line-redundant lines (Serial Line Redundant, SerialOverUDP Line Redundant, TCP/IP-TCP Redundant) it is possible to configure I/O tags with addresses OUT_A and OUT_B to write data to primary/secondary line only
- on system-redundant lines (Serial System&Line Redundant, SerialOverUDP System&Line Redundant) it is possible to configure I/O tags with addresses OUT_A, OUT_B, OUT_C, OUT_D to write data to primary/secondary line of system A/B only
Note: it is possible to configure and use an I/O tag with the address IN and I/O tags IN_A, IN_B, IN_C, IN_D on a single station at the same time.
In a similar way, it is possible to configure and use an I/O tag with the address OUT and I/O tags OUT_A, OUT_B, OUT_C, OUT_D on a single station at the same time.
Literature
Blog
You can read blogs about Generic User Protocol:
Changes and modifications
-
Document revisions
- Ver. 1.0 - October 15, 2015 - Creating the document.
- Ver. 1.1 - December 12, 2021 - Implementation of TCP Server and Character Encoding parameters.
Related pages: