User`s guide

can be polled using the function IOSTAT(lun, 1) to detect when the read is completed. Keep
in mind that the DDCMP acknowledge was sent when the data was originally received and
buffered, not when the READ instruction is executed.
Output Processing
Output on a DDCMP line is performed using the V+ WRITE instruction. Each WRITE
instruction sends a single data message with a maximum length of 512 bytes. The write
request does not complete until the remote system acknowledges successful receipt of the
message. Retransmission because of errors is handled automatically without any action
required by the V+ program.
If the no-wait format control (/N) is specified in the format list for the WRITE instruction, V+
processing continues without waiting for the write to complete. Like other output requests, a
second write issued before the first has completed will force the V+ program to wait for the
first write to complete. The IOSTAT(lun,3) function can be used to determine whether or not
a no-wait write has completed.
Protocol Parameters
Certain parameters can be set to control the operation of DDCMP. These parameters are set
with the V+ FCMND instruction. The following parameters can be set:
1. Time before message confirmation or retransmission is attempted. An acknowledge
request must have been received before this period of time, or a time-out occurs. The
default value is 3 seconds. It can be set to any value from 1 to 255 seconds.
2. Number of successive time-outs before an unrecoverable error is signaled, halting the
protocol and aborting I/O requests. The default value is 8. It can be set to any value
from 1 to 255.
3. Number of successive negative acknowledge (NAK) packets that can be received
before an unrecoverable error is signaled, halting the protocol and aborting I/O
requests. The default value is 8. It can be set to any value from 1 to 255.
The FCMND instruction to set the parameters is as follows (see the VFCMND documentation
for more information on this instruction):
FCMND(lun, 501)$CHR(time.out)+$CHR(time.retry)+
$CHR(nak.retry)
where
lun is the logical unit number for the serial line
time.out is the time-out interval, in seconds
time.retry is the successive time-out maximum
nak.retry is the successive NAK maximum
DDCMP Communication Protocol
(Undefined variable: Primary.Product_Name_V)Language User's Guide, version
17.x
Page 229