Section Four
GPIB-PC Functions — Overview
©National Instruments Corp.
4-9
GPIB-PC User Manual
GPIB-PC does not have System Controller capability. The
remedy is to give the GPIB-PC that capability by calling
IBRSC
or by using
IBCONF
to configure that capability
into the handler.
EABO (6)
EABO indicates that I/O has been canceled, usually due to
a timeout condition. Other causes are
IBSTOP
being
called or the Device Clear message being received from
the CIC.
To remedy a timeout error, if I/O is actually progressing but
times out anyway, lengthen the timeout period with
IBTMO
.
More frequently, however, the I/O is stuck (the Listener is
not continuing to handshake or the Talker has stopped
talking), or the byte count in the call which timed out was
more than the other device was expecting. Be sure that
both parties to the transfer understand what byte count is
expected; or if possible, have the Talker use the END
message to assist in early termination.
ENEB (7)
ENEB occurs when there is no GPIB-PC at the I/O address
specified in the configuration program. This happens when
the board is not physically plugged into the system, when
the I/O address specified during configuration does not
match the actual board setting, or when there is a conflict
in the system with the BASE I/O address. If there is a
mismatch between the actual board setting and the value
specified at configuration time, either reconfigure the
software or change the board switches to match the
configured value.
EOIP (10)
EOIP occurs when asynchronous I/O has not completed
before some other call was made. During asynchronous
I/O, until the CMPL bit is set in
IBSTA
, only
IBSTOP
and
IBWAIT
calls are allowed. EOIP is returned when any
other call is attempted before the I/O completes. The
remedy is to use
IBWAIT
to wait for the CMPL status and
then attempt the other call.
ECAP (11) ECAP results when a particular capability has been
disabled in the handler, and a call is made which attempts
to make use of that capability. For example, if you use
IBCONF
to disable DMA for a board, and then try to call
IBDMA
to turn DMA back on, you will get this error. The
remedy is not to deny capabilities which may be needed
later, and to avoid making calls which attempt to alter or
make use of capabilities that are unalterable at runtime.