![IDEC OpenNet series User Manual Download Page 244](http://html.mh-extra.com/html/idec/opennet-series/opennet-series_user-manual_617384244.webp)
17: U
SER
C
OMMUNICATION
I
NSTRUCTIONS
O
PEN
N
ET
C
ONTROLLER
U
SER
’
S
M
ANUAL
17-17
Designating Constant as End Delimiter
An end delimiter can be programmed at other than the first byte in the receive format of a RXD instruction; the
OpenNet
Controller
will recognize the end of valid communication, although RXD instructions without an end delimiter can also be
executed.
When a constant value is designated at other than the first byte of source operand S1, the one- or multiple-byte data serves
as an end delimiter to end the processing of the received data. The valid end delimiter value depends on the data bits
selected in Configure > Function Area Settings > Comm Port > Port 1 or 2 Communication Mode Setting (RS232C)
> Communication Parameters dialog box. See page 17-3. When 8 data bits are selected, end delimiters can be 00h
through FFh. When 7 data bits are selected as default, end delimiters can be 00h through 7Fh. Constant values are entered
in character or hexadecimal notation into the source data.
If a character in incoming data matches the end delimiter, the RXD instruction ends receiving data at this point and starts
subsequent receive processing as specified. Even if a character matches the end delimiter at a position earlier than
expected, the RXD instruction ends receiving data there.
If a BCC code is included in the receive format of a RXD instruction, an end delimiter can be positioned immediately
before or after the BCC code. If a data register or skip is designated between the BCC and end delimiter, correct receiving
is not ensured.
When a RXD instruction without an end delimiter is executed, data receiving ends when the specified bytes of data in the
receive format, such as data registers and skips, have been received. In addition, data receiving also ends when the interval
between incoming data characters exceeds the receive timeout value specified in the Communication Parameters dialog
box whether the RXD has an end delimiter or not. The character interval timer is started when the first character of incom-
ing communication is received and restarted each time the next character is received. When a character is not received
within a predetermined period of time, timeout occurs and the RXD ends data receive operation.
Example:
(1) When a RXD instruction without an end delimiter is executed
(2) When a RXD instruction with end delimiter ETX (03h) and without BCC is executed
(3) When a RXD instruction with end delimiter ETX (03h) and one-byte BCC is executed
****h
D100
When D100 is designated
“0”
(30h)
“1”
(31h)
Total of received characters
“2”
(32h)
“3”
(33h)
Incoming data
****h
D100+n
****h
D101
The incoming data is divided, converted, and stored to data registers according to the receive format.
Receive operation is completed when the total characters programmed in RXD are received.
as the first data register
****h
D100
When D100 is designated
ETX
(03h)
“1”
(31h)
End delimiter
“2”
(32h)
“3”
(33h)
Incoming data
****h
D100+n
****h
D101
The incoming data is divided, converted, and stored to data registers according to the receive format.
The end delimiter is not stored to a data register.
Any data arriving after the end delimiter is discarded.
as the first data register
End of receiving data
****h
D100
When D100 is designated
ETX
(03h)
“1”
(31h)
End delimiter
“2”
(32h)
BCC
Code
Incoming data
****h
D100+n
****h
D101
The incoming data is divided, converted, and stored to data registers according to the receive format.
The end delimiter and BCC code are not stored to data registers.
After receiving the end delimiter, the
OpenNet Controller
receives only the one-byte BCC code.
as the first data register
End of receiving data
Phone: 800.894.0412 - Fax: 888.723.4773 - Web: www.clrwtr.com - Email: [email protected]