Supported device types and versions
Communication line configuration
Communication station configuration
Station protocol parameters
I/O tag configuration
Changes and modifications
Document revisions
...
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
Parameters StartMark, Separator and EndMark parameters can be configured within the station address.
It is also possible to periodically transmit textsend text-oriented data with an identical template - with the fact that the . The StartMark, Separator and EndMark parameters for transmission transmitting can be different from those for receptionreceiving.
Example of received data:
Vysielam<CR><LF>11Sending<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>ding<CR><LF>
Separator = <CR><LF>
EndMark = VysSen
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.
...
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 |
Kotva | ||||
---|---|---|---|---|
|
...
The following station parameters can be set:
Table 2
Full name | Description | Unit | Default value | ||||||
---|---|---|---|---|---|---|---|---|---|
| Waiting between data readings. | sec | 0.2 | ||||||
| Maximum reading time of one data sentence (if data input is enabled in the station configuration). | sec | 5 | ||||||
| Data transmission period (if |
transmitting is enabled in the station configuration). | sec | 60 | |||||||
| 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 |
Kotva | ||||
---|---|---|---|---|
|
...
Possible value types of I/O tag: Ai, Ci, Ao, Co, Di, Dout.
Kotva | ||||
---|---|---|---|---|
|
- 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/Ba numerical address (1 ... 999) indicating the position of the value (Data1, Data2 ... Data N) in the received data sentence
StartMark Data1 Separator Data2 Separator .... DataN EndMark
Note: if there are no I/O tags for some addresses, these values will be ignored.
Example: Input I/O tags with addresses 1 and 3 are configured, the value with address 2 (Data2) will be ignored.
Kotva | ||||
---|---|---|---|---|
|
- 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.
...
- a numerical address (1 ... 999) indicating the position of the value (Data1, Data2 ... Data N) in the sent data sentence.
An I/O tag of type Dout is written as 0/1, an I/O tag of type Ao as a floating point with 2 digits after the decimal point (e.g. -123.45).
Note: if there are no I/O tags for some addresses, then these values will not be sent (nor the separators between them).
Example: Output I/O tags with addresses 1 and 5 are configured, the following data sentence will be sent:
StartMark Data1 Separator Data5 EndMark
...
Info | ||
---|---|---|
| ||
You can read blogs about Generic User Protocol: |
Kotva | ||||
---|---|---|---|---|
|
...
Kotva | ||||
---|---|---|---|---|
|
...
- Ver. 1.0 - October 1530, 2015 2024 - Creating the document.Ver. 1.1 - December 12, 2021 - Implementation of TCP Server and Character Encoding parameters.
Info | ||
---|---|---|
| ||
...