Chapter 6. Serial I/O, SNP & RTU Protocols
222
PACSystems* RX7i, RX3i and RSTi-EP CPU Reference Manual
GFK-2222AD
6.2.14
Read Bytes Function (4402)
This function causes one or more characters to be read from the specified port. The characters are read
from the internal input buffer and placed in the specified input data area. The function returns both the
number of characters retrieved and the number of unprocessed characters still in the input buffer. If zero
characters of input are requested, only the number of unprocessed characters in the input buffer is
returned.
If insufficient characters are available to satisfy the request and a non-zero value is specified for the
number of characters to read, the status of the operation is not complete until either sufficient
characters have been received or the time-out interval expires. In either of those conditions, the port
status indicates the reason for completion of the read operation. The status word is not updated until
the read operation is complete (either due to timeout or when all the data has been received).
If the time-out interval is set to zero, the COMMREQ remains pending until it has received the requested
amount of data, or until it is cancelled.
If this COMMREQ fails for any reason, no data is returned to the input data area. Any data that has not
been read from the internal input buffer remains and it can be retrieved with a subsequent read request.
Example Command Block for the Read Bytes Function
Value
(decimal)
Value
(hexadecimal)
Meaning
Address
0005
0005
Data block length
A1
0000
0000
NOWAIT mode
A2
0008
0008
Status word memory type (%R)
A3
0000
0000
Status word address minus 1 (%R0001)
A4
0000
0000
Not used
A5
0000
0000
Not used
A6
4402
1132
Read bytes command
A7
0030
001E
Read time-out (30 seconds)
A8
0005
0005
Number of bytes to read
A9
0008
0008
Input data memory type (%R).
A10
0100
0064
Input data memory address (%R0100)