Chapter 6. Serial I/O, SNP & RTU Protocols
GFK-2222AD
April 2018
221
6.2.13
Write Bytes Function (4401)
This operation can be used to transmit one or more characters to the remote device through the
specified serial port. The character(s) to be transmitted must be in a word reference memory. They
should not be changed until the operation is complete.
Up to 250 characters can be transmitted with a single invocation of this operation. The status of the
operation is not complete until all the characters have been transmitted or until a timeout occurs (for
example, if hardware flow control is being used and the remote device never enables the transmission).
Example Command Block for the Write Bytes Function
Value
(decimal)
Value
(hexadecimal)
Meaning
Address
0006
0006
Data block length (includes characters to send)
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
4401
1131
Write bytes command
A7
0030
001E
Transmit time-out (30 seconds). See note below.
A8
0005
0005
Number of bytes to write
A9
25960
6568
‘h’ (68h), ‘e’ (65h)
A10
27756
6C6C
‘l’ (6Ch), ‘l’ (6Ch)
A11
0111
006F
‘o’ (6Fh)
Although printable ASCII characters are used in this example, there is no restriction on the values of the
characters that can be transmitted.
Operating Notes
Specifying zero as the Transmit time-out sets the time-out value to the amount of time actually needed
to transmit the data, plus 4 seconds.
Caution
If an Initialize Port (4300) COMMEQ is sent or a Cancel
Operation (4399) COMMREQ is sent in either Cancel All or
Cancel Write mode while this COMMREQ is transmitting a
string from a serial port, transmission is halted. The position
within the string where the transmission is halted is
indeterminate. In addition, the final character received by the
device the CPU is sending to is also indeterminate.